1Heat olive oil in a stockpot over medium heat. Cook and stir onion in hot oil until softened, about 5 minutes.
2Stir garlic through the onion; cook and stir until garlic is fragrant and slightly soft, another 1 to 2 minutes.
3Place broccoli, diced tomatoes, and chicken broth into the stockpot. Reduce heat to medium-low, bring the mixture to a simmer, and cook until the broccoli is completely softened, 30 to 40 minutes.
4Stir milk into the soup and return to a simmer.
5Pour the soup into a blender, filling the pitcher no more than halfway. Hold the lid of the blender firmly in place and carefully start the blender, using a few quick pulses to get the soup moving before leaving it on to puree. Puree in batches until smooth and pour into a serving dish. Season with salt and black pepper to serve.