Preheat oven to 200°c/180°c fan-forced. Strip leaves off 1 rosemary sprig, then finely chop leaves and combine with oil, zest and lemon juice.
Place reserved lemon halves, remaining rosemary and garlic in centre of a large, deep roasting pan. Place lamb on top and coat with half the marinade. Season well and cook for 1 hour.
Add tomatoes to pan, drizzle with extra oil and season well. Cook for a further 30 minutes or until lamb is cooked to your liking and tomatoes are blistered. Remove pan from oven, cover lamb loosely with foil and allow to rest for 15 minutes. Drizzle remaining marinade over lamb to serve.