Heat olive oil in a large Dutch oven over medium-high heat and season beef cubes with salt and pepper, then brown them on all sides, about 8 minutes total. Remove beef and set aside.
Add sliced onions to the same pot and cook over medium heat, stirring occasionally, until deeply caramelized and golden brown, about 20-25 minutes.
Stir in garlic, tomato paste, and flour, cooking for 2 minutes until fragrant.
Return beef to the pot along with beef broth, thyme, and bay leaves. Bring to a boil, then reduce heat to low, cover, and simmer for 90 minutes until beef is tender.
Stir in frozen peas and cook for an additional 5 minutes until heated through.
Remove bay leaves, adjust seasoning with salt and pepper, and serve hot in bowls with crusty bread.