Add the butter to a deep pot and melt over medium heat. Once melted add the onion and garlic and cook for 1 minute or until garlic is fragrant.
Add the tomatoes (with juice) and chicken stock to the pot and bring to a boil. Reduce heat to a simmer and cook for 45 minutes.
Transfer soup to a blender and carefully puree soup. Alternately, use an immersion blender to puree the soup.
Taste and season with salt, as desired.
For the homemade croutons, chop up fresh bread to make 1 cup of bread chunks. Add 2 tablespoons of butter to a hot skillet and melt. Add the bread and season with a sprinkling of garlic salt. Stir often until toasted. Top soup with croutons and freshly grated Parmesan.