Pat lamb cubes completely dry and season generously with salt and pepper. Let stand at room temperature for 15-20 minutes.
Heat 2 tablespoons oil in Dutch oven over medium-high heat. Brown lamb in batches for 3-4 minutes per side until deeply golden. Transfer to a plate and set aside.
Reduce heat to medium and add remaining oil. Cook onion for 5-6 minutes until softened. Add garlic and cook for 1 minute until fragrant, scraping up browned bits.
Sprinkle flour over onions and stir constantly for 2 minutes. Add tomato paste and cook for another minute until a thick paste forms.
Pour in wine while stirring constantly, scraping up all browned bits from pot bottom. Let bubble and reduce by half, about 3-4 minutes.
Return browned lamb to pot. Add beef broth, bay leaves, thyme, and rosemary. Bring to a boil over medium-high heat.
Reduce heat to low, cover with lid slightly ajar, and maintain a gentle simmer. Cook for 1 hour 30 minutes, stirring every 20-30 minutes.
Add carrots, parsnips, potatoes, and celery. Stir gently to submerge, cover, and continue simmering for 45-60 minutes until vegetables are fork-tender.
Remove and discard bay leaves, thyme, and rosemary. Stir in frozen peas and cook for 5 minutes until heated through. Adjust seasoning with salt and pepper.
Ladle hot stew into bowls, garnish with fresh parsley, and serve immediately with crusty bread for dipping.