Trim any excess fat from the lamb and cut it into 1-inch cubes. Pat the meat dry with a paper towel to remove moisture, which will help achieve a better sear.
Season the lamb pieces evenly with salt and black pepper.
Heat 3 tablespoons of olive oil in a heavy-bottomed pot over medium heat.
Add the lamb in a single layer, leaving space between each piece. If necessary, brown the meat in batches to avoid overcrowding.
Let the lamb sear undisturbed for 2 to 3 minutes on one side before flipping. Cook for another 2 to 3 minutes until browned on all sides.
Transfer the browned lamb to a plate and set aside.
In the same pot, using the rendered fat from the lamb, add the chopped onion. Sauté for 1 to 2 minutes until translucent.
Add the carrot and celery, stirring frequently. Cook for another 2 minutes until softened.
Stir in the minced garlic and sauté for 1 minute until fragrant.
Add the tomato paste and cook on low heat for 1 to 2 minutes, stirring frequently.
Deglaze the pot by pouring in the red wine. Use a wooden spoon to scrape up any browned bits stuck to the bottom of the pan.
Allow the wine to reduce by half, ensuring that the alcohol aroma has cooked off.
Crush the whole canned tomatoes with your hands or a spoon and add them to the pot, along with their juices.
Stir in the sugar, red pepper flakes (if using), bay leaves, rosemary, thyme, and beef stock.
Return the browned lamb and any accumulated juices to the pot. Stir everything together to ensure the meat is evenly distributed in the sauce.
Bring the mixture to a gentle simmer.
Cover the pot with a lid and let it cook over low heat for 1 hour and 30 minutes, stirring occasionally.
