Heat 1 tbsp. oil in a medium pot over medium heat. Add onion and 1/2 tsp. salt and cook until softened, stirring occasionally, about 8 minutes.
Remove carrot tops from carrots, chop roughly, and set aside. Roughly chop carrots and add to pot. Stir in broth and bring to a boil. Reduce to a simmer, cover (leave lid slightly ajar), and cook until carrots are very tender, about 20 minutes.
Meanwhile, mince garlic in a food processor, scraping down sides of bowl as needed. Add 1 cup carrot tops, the walnuts, remaining 2 1/2 tbsp. oil, and remaining 1/4 tsp. salt and whirl until blended.
Purée carrot-broth mixture in a blender, working in batches, until very smooth, about 1 minute per batch. Ladle into bowls and swirl in carrot top pesto.