Melt the butter in a large non-stick frying pan or dutch oven. Stir in the flour with a whisk until you get a thick paste, then add the milk a splash at a time, whilst stirring with the whisk, until all the milk is mixed and no lumps remain.
Add in the salt and pepper, then add the pasta.
Pour in the water and stir, then add the tin of tomatoes and tomato puree. Stir everything together and bring to a gently bubble. Stir again and place a lid on the pan.
Turn the heat to low, and cook for 10 minutes (stirring a few times to prevent the sauce from sticking), unless the pasta is almost cooked.
Add in the broccoli and courgette. Place the lid back on and cook for a further 5-6 minutes until the vegetables are lightly cooked (add them in a little earlier if you like your vegetables softer). Add a splash of water from the kettle if it’d starting to look too dry.
When the vegetables are cooked, take the lid off the pan and stir in the cheese.
Stir in half of the watercress, and sprinkle the rest on top. Sprinkle on the feta, red onion and parsley, plus a little black pepper if you like.