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 4–5 minutes until the orzo is lightly toasted and fragrant.
Stir in the tomato paste and dried Italian herbs and cook about 1 minute until combined.
Pour in the broth and the half-and-half (or milk) and stir to combine, then add the chopped sun-dried tomatoes and season with salt and pepper.
Increase heat to medium-high and bring to a boil, then reduce to medium-low and simmer, stirring frequently, until the liquid is mostly absorbed and the orzo is tender and creamy, about 12–15 minutes; add a splash of broth if it becomes too dry.
Fold in the baby spinach and grated Parmesan and cook, stirring, until the spinach is wilted and the cheese is melted, about 2 minutes.
Remove from heat, adjust salt and pepper to taste, top with additional Parmesan if desired, and serve.