Before you start, preheat oven to high grill. Bring a full kettle to the boil. Set aside a large baking dish.
Prep onion and carrot. Heat oil in a large fry-pan on medium-high heat. Cook onion and carrot for about 3 minutes, until starting to soften. Add beef and cook for 5 minutes, breaking it up with your spoon as you go, until browned.
Add beef pie spices, tomato paste and flour and cook for 1 minute, until fragrant. Add water measure and soy sauce, bring to the boil, then reduce heat and simmer for 8-10 minutes, until thickened. Stir through peas and season to taste with salt and pepper.
Meanwhile, cook béchamel. Melt butter in a medium pot over medium heat and whisk in flour. Add milk, a little at a time, whisking constantly for about 3 minutes, until sauce is thick and creamy. Stir in salt and season with pepper.
In a medium bowl, combine Parmesan and breadcrumbs together. Spread beef evenly in baking dish and top with béchamel. Sprinkle over topping and frill on middle oven rack for 5-7 minutes, until golden brown.
Prep broccoli. Add to a medium heat-proof bowl and cover with boiling water. Let sit for 3 minutes, until tender. Drain well and return to bowl with pesto. Season to taste with salt and pepper.
Serve pie with broccoli on the side.