Heat a large frying pan over medium-high heat. Add bacon and cook, turning often, until almost crisp, about 10 minutes. Transfer bacon to paper towels.
Drain most of fat from pan and reserve. Add onion, pepper, and chile to pan and cook until starting to soften, about 2 minutes. Stir in tomato, tomato sauce, and 1/2 cup water. Bring to a simmer.
Meanwhile, working in batches, heat a little reserved fat and fry the eggs in a large nonstick frying pan (discard the rest of fat). Set tortillas on each plate and top with 2 eggs. Spoon sauce over eggs and crumble bacon on top. Serve huevos rancheros with refried beans.