Set a 10-inch saute pan over medium heat and add the bacon. Cook, stirring often, until most of the fat has been rendered and the bacon is crisp, about 7 to 8 minutes.
During the last few minutes the bacon is cooking, heat the oil over medium heat in another large nonstick saute pan. Add the eggs and cook until the white is firm and the yolk is cooked to your liking, about 1 minute for a runny yolk and longer for a firmer yolk. Set the pan aside and keep warm.
Use a slotted spoon to transfer the bacon pieces to a paper towel-lined plate. Add the shallots and garlic to the pan and saute until fragrant and soft, about 1 minute. Add the red wine vinegar, salt, and pepper. Stir to combine and then remove from the heat.
Place the spinach in a large bowl, and working quickly, add about half of the hot vinaigrette from the pan. Toss carefully.
Divide the spinach equally among 4 serving plates. Arrange an egg on top of each mound of spinach, season with salt, and black pepper, and sprinkle with the crisp bacon. Drizzle with additional vinaigrette if desired, and serve immediately.