Cook the pasta with the onion in a large saucepan of lightly salted, boiling water according to the pack instructions, Drain and rinse in cold water. Set it aside.
While the pasta is cooking, make the sauce. In a heatproof jug, mix 3 tablespoons of the milk with the cornflour to make a smooth paste. In a large saucepan, put the rest of the milk on to boil and when the liquid starts to creep up the sides of the pan,pour it over the cornflour paste, whisking as you do so.
Return the milk mixture to the pan and cook, stirring, on a low heat until it thickens. Add the peas and tuna, and then simmer for 2 minutes. Remove the pan from the heat and cool slightly.
Mix in all the cheddar cheese and half of the Parmesan cheese, stir the cooked pasta into the sauce. Check the seasoning. Reheat it all gently in the pan but do not allow it to boil.
Preheat the grill. Transfer the pasta mixture to an ovenproof dish. Mix the remaining parmesan cheese with the breadcrumbs and scatter this over the top. Arrange the tomato halves, cut side up, over the breadcrumb topping.
Place the dish under the grill and cook until the top is crisp and golden. Serve on four warmed plates.