How to Make It
Melt butter in a large pot over medium-low heat. Add onion, carrots and celery, sprinkle with salt and pepper, cover and cook until onions are translucent and veggies are tender, about 10 minutes, stirring once or twice. Add tomatoes with liquid and broth. Raise heat to high; bring to a boil. Reduce heat to medium and simmer, stirring occasionally, until tomatoes are breaking up, about 25 minutes. Remove from heat. Let cool slightly.
Working in batches, ladle soup into a blender. Cover, making sure to leave a small vent; blend until smooth. Transfer to a large bowl. Repeat with remaining soup.
Add soup back to pot, stir in sour cream and milk and warm over medium heat until hot enough to serve, taking care not to boil. Serve topped with pesto or Parmesan, if desired.