In a large pot, heat butter over medium heat. Add onion and sauté until tender.
Add carrots and celery, sauté for an additional 3-4 minutes. Add in garlic and sauté for 1 minute.
Add in broth, tomatoes, orzo, thyme, oregano, rosemary and stir to combine. Bring soup to a simmer, stirring occasionally to prevent sticking. Reduce heat to a simmer. Simmer for 10 minutes, stirring occasionally, until the pasta is al dente and the vegetables are tender.
Stir in the spinach for a minute and allow to wilt. Season with salt and black pepper to taste. Top with Parmesan cheese to serve. Serves 4.