First make the sauce. Melt the butter with the oil in a saucepan.
Add the Spanish onion, garlic, celery and chillies and cook over a low hear, stirring occasionally, for 5 minutes, until softened.
Stir in the tomatoes, tomato puree, mustard powder, bay leaf, Worcestershire sauce, honey and vinegar and season to taste with salt and pepper.
Increase the heat to medium and bring to the boil, then reduce the heat and simmer, stirring occasionally, for 15-20 minutes, until thickened.
Remove the pan from the heat and leave to cool slightly.
Make the kebabs. Cut each red onion into eight wedges. Trim the spring onions and cut in half widthways. Thread the steak cubes onto the skewers, alternating them with onion wedges and spring onion halves.
Transfer about three quarters of the sauce to a serving jug. Brush half the remainder over the kebabs and grill, turning frequently and brushing with the remaining sauce from the bowl, for 8-10 minutes, until the meat is cooked to your liking.
Serve immediately with couscous and the reserved sauce.