1. In a large, heavy pot, heat the oil over medium-low heat. Add the carrots and garlic, and sauté, stirring occasionally, until they soften, about 10 minutes. Add the onion and sauté, stirring until the onion turns golden, about 10 minutes more. Be careful not to burn the carrot mixture, you’re aiming for a slow caramelization. Using a fork, mash the garlic cloves in the pot. They don’t need to be totally mashed because they will break down further as the soup continues to cook.

2. Meanwhile, strain the tomatoes over a large bowl; reserve the juice. In a separate large bowl, squeeze the tomatoes through your fingers to break them apart. Add one third of the tomatoes to the carrot mixture and cook, stirring occasionally, until most of the liquid evaporates, about 10 minutes.

3. Add the parsley, rosemary, and the remaining tomatoes to the pot and cook, stirring often, for about 10 minutes or more or until quite thick. Stir in the broth or water, reserved tomatoes juice, and beans, and bring to a simmer. Season with salt and pepper, ladle into bowls, and serve.