In a large pot, heat the olive oil over medium heat. Add the chopped onion and sauté for about 3-4 minutes, until translucent.
Stir in the minced garlic and cook for another 30 seconds until fragrant.
Add the elbow macaroni, vegetable broth, broccoli florets, and cherry tomatoes to the pot. Season with paprika, salt, and pepper.
Bring the mixture to a boil, then reduce heat to low and cover. Let it simmer for about 8-10 minutes, stirring occasionally, until the pasta is cooked and the liquid is mostly absorbed.
Once the pasta is cooked, stir in the baby spinach until wilted, about 1-2 minutes.
Remove the pot from heat and gradually mix in the sharp cheddar cheese and Parmesan cheese until fully melted and creamy. Adjust seasoning if necessary.
Serve hot, garnished with chopped parsley for a pop of color and freshness.