Heat olive oil in a large pot or Dutch oven over medium heat.
Add onion and cook until softened, about 5 minutes.
Add garlic and cook for 1 minute more.
Add broth, diced tomatoes, potatoes, and carrots. Bring to a boil, then reduce heat and simmer for 15-20 minutes, or until potatoes and carrots are tender.
Gently add fish to the pot and cook for 5-7 minutes, or until fish is cooked through and flakes easily with a fork.
Stir in heavy cream, thyme, salt, and pepper. Heat through.