Roughly chop the white onion, garlic and 2 tomatoes for the sauce. Remove the seeds and stems from the dried chillies. Saute the onion in a pot with a big glug of oil for 5 minutes. Add in the garlic and tomato and continue to cook for 2 minutes.
Add 750ml water along with the Ancho, Guajillo, Arbol and Chipotle chillies, bay leaves, cumin, peppercorns and oregano. Bring to a boil and cook for 30 minutes. Blend everything in a blender.
Sear the beef shin in a large pot in a glug of oil for 2 minutes on every side. Pour in the blended chilli paste and add in the beef stock. Top it up with more water so that all the meat is submerged. Simmer with the lid on for a minimum of 4 hours, up to 24 hours.
For the salsa, dice up the tomatoes, red onion and chop up the coriander. Mix it in a bowl with a squeeze of lime and salt.
Shred the mozzarella and slice up the remaining limes into wedges.
Take the meat out of the stew and roughly shred it, place it into another saucepan with a few ladles of sauce to keep it warm. Generously season the broth and meat with salt.
Heat a frying pan and dip a corn tortilla into the broth and place it onto the hot pan. Sprinkle a layer of meat and then a layer of shredded cheese. Close the taco and cook gently to melt the cheese and crisp up the shell. Repeat for all the tacos and enjoy with a squeeze of lime, fresh salsa and dipped in the gorgeous broth.