Preheat the oven to 200°C/400°F/gas mark 6. Put the garlic cloves and whole cherry tomatoes on a baking tray. Season with salt and pepper, thyme and toss through olive oil. Roast for 25-30 minutes until blistered and a little coloured, remove from the oven and set aside.
Meanwhile, bring a large pan of water to the boil and cook the pasta to pack instructions. Add the broccoli florets for the last 3 minutes of cooking time, then drain and set aside.
In a large deep saucepan, heat 2 tablespoons of oil over a medium heat and add the onion. Gently fry for 5-8 minutes until softened and a little coloured. Add the chilli flakes and flour and fry for a few minutes until bubbling.
Remove from the heat and gradually add the plant-based milk. Stirring all the time, then put over a medium heat and stir regularly until the sauce thickens and bubbles. Season with salt and pepper and a squeeze of lemon. Toast the pine nuts, cashews and almonds together until golden in a small non-stick frying pan.
Toss the spaghetti and broccoli through the sauce. Top with the roasted tomatoes, toasted nuts, a handful of fresh basil and drizzle of olive oil.