Heat the olive oil in a sauté pan. Cook the onions until soft. Add the garlic and the peppers and cook until tender. Finally, add the tomatoes, season with salt and pepper, cover and cook 10 minutes. Remove lid and continue cooking until the juices have evaporated and everything is soft and melded.
Crack the eggs onto the surface, spaced evenly apart. Season with salt and pepper. Cover, and cook until just done, with yolks still nice and runny. Meanwhile, make four “nests” of ham on serving plates. When the eggs are done, lift them along with their peppery garnishes with a spatula into the nests. Serve very hot with toasted baguette.