Heat the olive oil in a large pot over medium heat. Add the ground beef and cook until browned, breaking it up with a spoon. Remove the beef with a slotted spoon and set it aside.
Add the sliced onions to the pot and cook until they soften and turn light brown. Stir in the carrots and garlic and cook for 2 minutes more.
Sprinkle the flour over the vegetables and stir for 1 minute. Slowly pour in the Guinness while scraping the bottom of the pot.
Add the beef broth, tomato paste, Worcestershire sauce, thyme, and bay leaves. Return the browned beef to the pot and season with salt and pepper.
Bring the mixture to a simmer, then reduce the heat and cook for 25 minutes until the carrots are tender. Remove the bay leaves before serving or freezing.