In a large, deep skillet or pot over medium heat, melt the butter.
Add the dry orzo and minced garlic and cook, stirring frequently, until the orzo is lightly toasted and fragrant, about 4–5 minutes.
Stir in the tomato paste and dried Italian herbs and cook for about 1 minute until fully combined.
Pour in the broth and the half-and-half (or milk) and stir to combine. 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 most liquid is absorbed and the orzo is tender and creamy, about 12–15 minutes; add a splash more broth if it becomes too dry.
Fold in the spinach and the grated Parmesan and stir until the spinach is wilted and the cheese is melted, about 2 minutes.
Remove from heat, adjust seasoning with salt and pepper to taste, top with additional Parmesan if desired, and serve.