Cook the bacon in a skillet over medium heat until crisp, about 8 minutes. Transfer to a paper towel-lined plate.
Discard all but 2 tablespoons of the drippings. Add the oil and return the skillet to medium heat. Add the onion and vinegar and cook, stirring occasionally, until the onion is soft, about 6 minutes.
Place the spinach in a large bowl. Remove the onion mixture from heat and add to the spinach. Break the bacon into large pieces and add them to the bowl. Toss to combine.
Divide among individual bowls and top with the eggs, if using.