Preheat the oven to 190°C.
Wash and wipe the bird dry with a paper towel, put it in a tin. Season inside and out with salt and pepper.
Put the garlic and rosemary into the cavity. Add on half of the lemon - the other one squeeze over the bird then put it into the cavity too. Cover the tin loosely with foil and roast in the over nor 30 minutes.
Remove the foil, and cook for another 25-30 minutes until cooked through (do the skewer test: if clear juices run from thickest part of the thighs, it's cooked through). Rest for 15 minutes before carving.
Meanwhile, make the sauce: peel the shallots and cut them in half. Heat half the butter (margarine), and the oil and cook the shallots under cover, on very low heat until soft (for about 20 minutes).
Remove the lid and cook for a further 10-15 minutes until brown and caramelized. Add the chopped rosemary, stir, then pour in the balsamic vinegar. Reduce the sauce to a thick syrup, then add the stock and cook for 10 more minutes.
Take a spoonful of the sauce to a small bowl, mix this with the remaining butter and cornflour, then gradually stir this into the sauce. When the sauce becomes thick and silky, turn off the heat.
Carve the guinea fowl, plate and pour over the sauce.