Cut the beef strips in half so you have bite-sized pieces. Peel and thinly slice the onion. Scrub and trim the carrots and cut them into thin diagonal slices. Trim the celery and cut into thirds. Cut each third into thin strips.
Set a frying pan on a high heat for 2 mins. When warm, pour in ½ tbsp oil and add the beef strips. Fry for 4 mins, tossing the beef regularly, till it's browned. Lift out of the pan with a slotted spoon and pop into a bowl.
Lower the heat to medium then place the pan back on the heat. Pour in ½ tbsp oil. Add the onion, carrot and celery and cook for 5 mins till soft.
While the veg are cooking, peel and crush the garlic. Halve the chilli and finely chop it. Flick out the seeds for less heat. Pull the leaves from a sprig of rosemary. Add to the veg and cook for 1 min. Tip the beef back into the pan, along with any resting juices from the plate. Stir together.
Pour the chopped tomatoes into the pan. Half-fill the can with water (approximately 200ml) and add that to the pan. Crumble in the stock cube. Bring to a bubble then turn the heat down to low. Pop a lid on the pan and simmer for 20 mins.
While the beef is cooking, peel the potatoes and cut them into small cubes. Place in a pan and cover with cold water. Add a pinch of salt. Bring to a boil and simmer for 10-12 mins, till the potatoes are soft when pierced with a knife. Drain and pop on a lid to keep warm.
When the beef has cooked for 20 mins, add 1 tbsp Worcester sauce. Taste, season and add more Worcester sauce, if you like.
Cut the butter into cubes and add to the drained potatoes. Add 1 tbsp mustard and plenty of salt and pepper. Mash till smooth and creamy.
Pile the creamy mash onto a couple of plates and top with the fiery beef. Scatter over a few rosemary leaves to garnish.