Preheat the oven to 475° F/250° C. Cut the tomatoes in half and remove the seeds and juices. Arrange them cut side down on the baking sheet and brush with olive oil. Bake until the skins are evenly black all over, about 20 minutes. Remove from the oven and allow to cool in the pan. Discard the skins and transfer the tomatoes and the juices to the blender. Blend with the chiles and garlic until smooth.
While the tomatoes roast, heat the canola oil in the saucepan over medium heat. Add the onion and cook while stirring until the onion is soft and translucent, and 4 minutes. Add the tomato puree, cover, and bring to a boil. Stir in the salt and cinnamon stick, reduce heat, and cook uncovered at a simmer. Cook until the sauce is thickened, about 30 minutes. If sauce thickens too much, like a paste, reduce the heat slightly and add water a tablespoon or two at a time.
Taste for seasoning and add more salt to taste. Sauce will keep in the refrigerator up to 3 days or freeze for up to 3 months.
Dunk each tortilla in the sauce for about 30 seconds to 1 minute to warm and soften, then lay each tortilla on a plate.
Spread some sauce on the tortilla, then lay a fried egg on top and pour some more sauce on the egg. Serve with Mexican rice, beans, and sliced avocado.
Wear protective gloves while working with hot chilies. Keep chilies and gloves away from your face.