Heat the oil in a large pan over a low heat, then gently fry the celery, onion and carrot for 10 minutes. Dust with the flour and cook for another 5 minutes.
Add the sardines, garlic, bay, soy and Worcestershire sauce and stir well. Add the red wine and cook until most of the liquid has gone. Add the passata and cook for 2 minutes, whisking vigorously.
Add the stock and cook until almost all the liquid has gone, whisking occasionally.
Meanwhile, bring a large pan of salted water to the boil and cook the spaghetti according to the packet instructions.
Mix the spaghetti through the sauce and serve scattered with plenty of Parmesan.