Add more oil if needed.
Cook the onion, leek, carrot, shallot, and garlic until onion is translucent.
Add tomato, white wine, thyme and about a teaspoon of salt and cook another 3-4 minutes.
Return the lamb to the pot, add the veal stock and enough chicken stock to just cover the lamb.
Cover and simmer for about 2 hours, until the lamb is tender.
Remove lamb from pot and tent with foil.
Strain the sauce through a sieve, pressing down on the aromatics to extract as much flavour (and maybe a bit of texture) as possible.
Wipe out the pot and return the strained sauce to it. Reduce liquid, over moderately high heat, to about 2 cups. Taste and adjust salt as needed.
Off heat, stir in 2 Tbsp butter.
Serve lamb over barley risotto, pureed white beans, mashed potatoes or other "starch" and ladle sauce into the dish.