Heat a frying pan until smoking, then add the olive oil followed by the onions, garlic and green peppers. Cook for 1-2 minutes, or until the onions are beginning to soften.
Stir in the roasted peppers (if using) and tomatoes, and cook for 1-2 minutes, then season with salt and pepper.
Pour in the eggs and cook for 2-3 minutes, stirring to scramble the eggs, until the eggs are just set.
In a clean frying pan, fry the ham for one minute on both sides, or until golden-brown all over.
Serve the eggs on top of crusty bread, topped with the fried ham.