Using the food processor, fitted with the knife blade, roughly chop the onions and garlic. Heath the oil and butter in a saucepan, add the onions and garlic and fry gently for 10-15 minutes, or until softened.
Roughly chop the carrots, then tomatoes in the food processor and add to the pan with the stock and tomato purée. Bring to the boil, cover and simmer gently for 15 minutes.
Meanwhile make the basil oil. Place the basil leaves and olive oil in the multi mill and blend until smooth. Strain through a fine sieve and set the basil oil aside.
Using the sieve fitted with the fine screen, rough side uppermost, sieve the soup. Return to the pan, season to taste and heat through. Serve in warm bowls, drizzled with basil oil and garnished with Pecorino shavings, if desired.