Melt butter in a large saucepan over medium heat. Saute onion and garlic for 3 minutes. Stir in milk and cook for 2 minutes, stirring occasionally. Stir in tomato puree and sugar. Mix well, cover and bring to a boil over high heat. Reduce heat to low and simmer, covered, for 5 minutes. Add spinach, basil, salt and pepper and simmer, uncovered, for 2 minutes, stirring occasionally. Sprinkle with parmesan cheese, if desired.