In a large pot, heat oil over medium-high. Add carrots, celery, and onion and cook until onion is translucent, about 6 minutes. Add garlic and thyme and season with salt and pepper; cook until fragrant, about 3 minutes. Add beans, tomatoes, broth, and parsley and bring to a boil. Reduce heat and simmer until vegetables are tender, 25 to 30 minutes. Season to taste with salt and pepper. Divide soup among four bowls and serve with Parmesan.