Fill a large saucepan with water, add a pinch of salt and bring to the boil.
Heat 1 tbsp olive oil in a large frying pan over a medium-high heat.
Remove the casings from the sausages, add the meat to the pan, break it up and cook for 5-7 minutes until browned all over. Drain off any excess fat and transfer to a bowl.
Reduce the heat to medium, then add the chopped yellow onion and cook for 3-4 minutes until translucent.
Stir in the minced garlic and cook for about 1 minute until fragrant.
Pour in the chopped tomatoes, stir to lift any browned bits from the bottom of the pan and bring to a gentle simmer.
Meanwhile, add the penne to the saucepan of boiling water and cook for 10-11 minutes until al dente.
While the pasta cooks, add the spinach to the sauce and stir for 1-2 minutes until wilted.
Return the cooked sausage to the sauce and season with 0.5 tsp salt and 0.25 tsp black pepper.
Reserve about 120ml of the pasta cooking water, then drain the pasta. Add the pasta to the sauce and toss to coat, adding a little of the reserved water if needed to loosen the sauce.
Serve immediately, topped with grated Parmesan. Store any leftovers in an airtight container in the fridge for up to 3 days.