In a heavy bottom pan, over medium heat, add the oil. When the oil is hot, add the onions, carrot, and celery. Season with salt and pepper. Saute for 2 minutes. Add the tomato and garlic. Continue to cook for 2 minutes. Add the beans. Continue to cook for 1 minute. Stir in the water. Add the bay leaves and season with salt and pepper. Bring the liquid to a boil. Reduce the heat to medium-low and continue to cook until the beans are tender, about 1 hour and 15 minutes to 1 1/2 hours.
In a small saucepan, combine the remaining olive oil, rosemary, and garlic. Bring to a simmer and cook until the garlic is golden, about 10 to 12 minutes. Remove from the heat and strain, discarding the rosemary and garlic. Using a hand held blender, puree half of the soup. Season with salt and pepper. Stir in the cooked pasta and continue to simmer for 15 minutes.
Remove from the heat and ladle into individual bowls. Stir half of the oil into the soup. Serve the remaining oil and bread on the side.