Sauté the aromatics: Place a large pot or Dutch oven over medium heat and add the olive oil.
Once shimmering, add the sliced onion, chopped celery, and carrots.
Season with salt and pepper and cook, stirring occasionally, for 5-10 minutes until the vegetables have softened and become glossy.
Stir in the minced garlic and cook for one more minute until fragrant.
Simmer the soup: Add the farro, soaked and drained beans, chopped tomatoes, and vegetable stock to the pot.
Stir everything together and bring the mixture to a boil.
Once boiling, reduce the heat to low, cover, and let it simmer steadily for at least 1 hour, or until the farro and beans are tender.
Check on the soup occasionally, adding more stock or water if it becomes too thick.
Finish and serve: Once the grains and beans are cooked, stir in the fresh parsley and basil.
Let the soup simmer for another 5 minutes to allow the flavors to meld.
Taste and adjust the seasoning with more salt and pepper if needed. Ladle the hot soup into bowls and serve immediately with a generous grating of Parmesan cheese and a final drizzle of extra virgin olive oil.