Bring a large pan of lightly salted water to the boil, cook the spaghetti for 15–20 minutes until tender, then drain and keep warm.
Meanwhile, heat the oil in a large heavy-based saucepan. Add the onion and cook over a high heat for 2–3 minutes, then add the garlic, carrot and mushrooms and cook for 5 minutes. Add the herbs and mince and cook for 10 minutes until the meat is golden. Add the stock and passata and continue to cook for a further 10 minutes, stirring occasionally, until the sauce has thickened and the meat and vegetables are tender and cooked through.
Add the spaghetti to the pan, mix with the meat and vegetables and serve piled into warm serving bowls with the grated Parmesan on top.