In a large, deep skillet or pot over medium heat, melt the butter.
Add the dry orzo and minced garlic to the melted butter; stir and cook for 4–5 minutes until the orzo is lightly toasted and the garlic is fragrant.
Stir in the tomato paste and dried Italian herbs and cook about 1 minute until fully combined.
Pour in the broth and the half-and-half (or milk), then stir to combine.
Add the chopped sun-dried tomatoes and season with salt and black pepper to taste.
Increase heat to medium-high and bring the mixture to a gentle boil, then reduce to medium-low and simmer, stirring frequently, until the liquid is mostly absorbed and the orzo is tender, about 12–15 minutes; add a splash of broth if it becomes too dry.
Fold in the fresh baby spinach and grated Parmesan; stir until the spinach wilts and the cheese melts, about 2 minutes.
Remove from heat, adjust seasoning with salt and pepper if needed, top with additional Parmesan, and serve.