The day before, rinse bacalao under cold water, place in a bowl, and fill with water until covered.
Soak for 1 hour, then rinse again the fish and place to soak in water. Repeat this step 3 more times.
Place the fish in a bowl and cover it with water.
Cover the bowl with cling film and place it in the fridge to rest overnight.
Next day, rinse and drain the bacalao, then shred it with your hands. Place in the fridge until needed.
Roast tomatoes on a griddle until their skin is shriveled and lightly blistered (read notes).
Allow to cool down and then peel them, remove the seeds, and dice them. Place in a bowl along with the juices.
In a large cooking pan heat the extra virgin olive oil over medium heat.
Add onions and garlic, then cook for 5 minutes making sure they don't brown.
Stir in the roasted tomatoes and tomato sauce. Season with pepper and oregano and bring to a simmer. Cook for 20 minutes on low heat stirring from time to time.
Mix in the bacalao fish along with potatoes, cappers, olives, almonds, chiles güeros, parsley, and bell peppers.
Pour about 1 ½ cups of water and cook over medium heat for 40 minutes, stirring occasionally.
Adjust salt to taste, mix in oregano, and turn off the heat.
Allow the stew to rest for a couple of hours before serving.
Notes
You can substitute baby potatoes with regular potatoes cut into large chunks.
Make sure the stew has always enough liquid to gently simmer the ingredients. If needed, add more water to the pot.
This bacalao Navideño is slightly spicy, if you want to remove the heat, do not add chiles güeros to simmer with the stew, add them later as garnish when serving.