In a frying pan dry fry the thickly sliced onion, pepper, tomatoes and whole cloves of garlic, turning from time to time, until blistered and blackened in places. Remove from the heat and set aside to cool a little.
Put the thinly sliced red onion in a small bowl and cover with boiling water. Leave for 10 minutes before draining, adding a big pinch of salt and the juice of 1 lime. Set aside in a bowl to serve.
Blend the blistered onion, peppers, tomato and garlic to a coarse paste with the spices, the juice of 1 lime and a good pinch or two of salt and some black pepper. Fry the paste in 3 tbsp oil for 5 minutes to thicken slightly and for the flavours to meld. Remove from the heat and add the drained beans, 1/2 the coriander and check the seasoning, adding more salt and pepper to taste, and place in a serving bowl.
Pre heat the bbq or griddle pan to very hot. Pat dry the bavette with some kitchen towel or a clean cloth and season generously with some coarse or flaky salt. Grill the bavette for around 3 – 4 minutes on each side, more or less to your liking, turning the steak mid-way through each time to ensure more grill marks. Remove from the heat and rest the meat on a serving plate.
With the grill or BBQ still very, very hot cook the tortillas directly on the grills, or use a solid top attachment, until toasted with nice spots of colouring to each side of the tortilla.
To serve, slice the steak into thin slices across the grain, we like ours pretty rare (the long rest time should mean your steak is perfectly pink and juicy) and have each person assemble their own taco. Fill with a spoonful of the bean salsa then top with slices of steak, pickled red onion and the remaining coriander along with a combination of avocado, chillies, chilli flakes or hot sauce and sour cream (if using).