Heat olive oil in a large pan over medium-high heat. (Use a pan with a lid)
Add onions and pinch of salt; cook for 2 to 3 minutes, or until softened.
Stir in garlic and continue to cook for 30 seconds, or until fragrant.
Add tomatoes, spinach, cheeses, macaroni, vegetable broth, milk,and seasonings.
Mix to combine and bring to a boil, stirring frequently.
Lower heat to a medium-low, cover with lid and continue to cook for 12 to 15 minutes, or until pasta is cooked. Stir frequently, about every 3 minutes, to prevent sticking.
Remove from heat and stir.
Garnish with parsley and serve immediately.