Heat oil in a medium frying pan over medium heat. Add onion and cook until translucent, about 3 minutes. Add tomatoes, salt, and pepper. Simmer, stirring occasionally, until tomatoes have softened and released their juices, about 5 minutes.
Use a spoon to make 4 wells in the tomato mixture and crack an egg into each. Cover pan and cook until whites are firm and yolks are just starting to set, about 2 minutes. Sprinkle with cheese and cover again to melt cheese slightly, about 1 minute. Sprinkle with herbs and serve with toast.