In a large non-stick skillet, cook the bacon over medium heat until crispy. Remove the bacon from the skillet and chop into small pieces.
In the same skillet, add the spinach and cook until wilted, about 2-3 minutes. Remove the spinach from the skillet and set aside.
In a bowl, whisk together the eggs, milk, salt, and pepper.
Pour the egg mixture into the skillet and cook over medium heat. As the eggs start to set, gently lift the edges with a spatula to allow the uncooked eggs to flow underneath. Continue to cook until the top is just set.
Sprinkle the cooked bacon, cooked spinach, and shredded cheese (if using) evenly over half of the omelette. Fold the other half of the omelette over the filling.
Cook for another minute to melt the cheese and ensure the omelette is heated through.
Slide the omelette onto a plate, cut in half, and serve hot.