Breakfast & Brunch
This tomato egg skillet recipe transforms simple ingredients into a restaurant-worthy breakfast with crispy hash browns and runny yolk magic in just 20 minutes. The secret lies in layering flavors—sautéed onions and peppers build a savory base, while juicy tomatoes and fresh herbs brighten every bite.
I perfected this dish after years of testing, and it never fails to impress, even with picky eaters.
The beauty of this skillet is its simplicity: one pan, minimal cleanup, and maximum flavor. You’ll start with golden hash browns cooked until crispy on the edges, then add tomatoes that soften just enough to release their sweetness.
The eggs finish last, their yolks staying gloriously runny for dipping. This isn’t just breakfast—it’s a meal that feels like a hug on a plate.
What you’ll end up with is a dish that’s hearty enough for brunch but quick enough for a weeknight. The hash browns stay crispy, the tomatoes caramelize slightly, and the eggs add that perfect creamy contrast.
Serve with toast or a fresh salad for a complete meal that’s both satisfying and easy to customize.
Perfect for feeding a crowd or enjoying solo, this skillet is the ultimate weeknight solution. The flavors develop as you cook, so timing is everything—let the tomatoes simmer until they’re just tender, and keep those yolks runny for the best experience. Here’s how to make it happen.
Ingredients for tomato egg skillet
Golden hash browns, juicy tomatoes, and runny yolk magic—this skillet is pure breakfast bliss.
| Ingredient | Amount | Notes |
|---|---|---|
| Large Eggs 🥚 | 4 whole | Freshly cracked for runny yolks |
| Russet Potatoes 🥔 | 1 ½ lb | Pre-cut hash browns or frozen |
| Yellow Onion 🧅 | 1 whole | Thinly sliced for sweetness |
| Bell Pepper 🌶️ | 1 whole | Any color, diced small |
| Roma Tomatoes 🍅 | 4 whole | Diced for juicy texture |
| Fresh Basil 🌿 | ¼ cup | Chopped, or dried oregano |
| Unsalted Butter 🧈 | 3 tbsp | For crispy hash browns |
| Olive Oil 🫒 | 1 tbsp | For even cooking |
| Garlic Cloves 🧄 | 2 cloves | Minced for aromatic base |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Red Pepper Flakes 🔥 | ¼ tsp | Optional for heat |
| Shredded Cheese 🧀 | ½ cup | Cheddar or Monterey Jack |
The hash browns are the star here. Pre-cut or frozen saves time, but fresh works too—just slice them thin for even cooking. Russet potatoes are ideal, but Yukon Golds add creaminess. I grab the Ore-Ida Golden Crinkles from the freezer aisle when I'm in a rush, but fresh hash browns from the grocery store's pre-cut section are my go-to for that authentic texture. Look for potatoes that are firm and free of sprouts—those little eyes mean they're past their prime. And trust me, butter matters—it gives those edges that golden, crispy magic.
No fresh basil? Dried oregano at half the amount works in a pinch. The Roma tomatoes should be firm but ripe—Heinz or Muir Glen cans are great for convenience, but fresh is unbeatable. Swap the bell pepper for mushrooms if you prefer—just slice them thin. Want more depth? Add a pinch of smoked paprika to the tomato mix. The cheese is totally optional, but if you add it, shred it yourself—pre-shredded gets clumpy. And if you're making this for a crowd, double the eggs and potatoes, but keep the pan size consistent for even cooking.
This skillet tastes even better the next day—leftovers reheat beautifully. Store in an airtight container for up to 3 days, or freeze portions for up to 2 months. I like to portion mine into individual servings so I can grab and go. The hash browns stay crispy if you reheat them in a skillet over medium heat for a couple minutes. And if you're prepping ahead, cook the hash browns first, then store them separately until you're ready to finish the dish—just pop them back in the pan when you're ready to serve.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this for lazy nights—just dice potatoes and peppers, toss them in oil, and let the skillet do the work. No fancy techniques, no extra dishes, and honestly? That crispy potato edge with runny egg yolks is my kind of effortless win.
- Sweet & Savory Crunch: The Roma tomatoes burst with juice, the bell pepper adds a bright crunch, and the eggs tie it all together with that creamy, rich finish. Between us, it’s the kind of flavor combo that makes you forget you’re eating something so simple.
- Lunchbox Hero: Between us, this keeps perfectly for days—pack it cold for work lunches or reheat it for a quick dinner. My kids actually eat their veggies in this (yes, even the picky ones), and it’s still delicious the third day.
- Budget Breakfast for Dinner: Russet potatoes and eggs are cheap, but they feel like a restaurant meal. I make this when I’m broke or when company drops by—no one ever guesses it’s just a skillet. Plus, leftovers stretch into next week’s breakfast. Win.
Step-by-step instructions for crispy hash browns and runny yolk magic
Here's how to build the perfect skillet with golden hash browns and silky eggs.
Cook the Hash Brown Base
Heat a large oven-safe skillet over medium-high heat and add 1 tablespoon olive oil. Spread the 1.5 lb russet potatoes (pre-cut hash browns or frozen) evenly in the pan. Cook undisturbed for 8-10 minutes until the edges start to brown and crisp. Here's the thing—don't touch them during this time. You want that Maillard reaction working its magic to create the perfect golden crust.
After the initial sear, gently press down on the potatoes with a spatula to help them crisp evenly. Sprinkle with ½ teaspoon salt and ¼ teaspoon red pepper flakes (if using). Cook for another 5-7 minutes until the underside is golden brown and crispy. The potatoes should be tender when pierced with a fork but still hold their shape.
Build the Vegetable Layer
Push the hash browns to one side of the skillet and add 1 tablespoon olive oil to the empty space. Add the thinly sliced yellow onion and diced bell pepper to the pan. Cook for 4-5 minutes until the onions soften and the peppers begin to caramelize. You'll know it's ready when the onions are translucent and the peppers have just started to release their juices.
Add the minced garlic cloves and cook for 30 seconds until fragrant. Stir in the diced roma tomatoes and cook for another 3-4 minutes until they soften and release their juices. Season with ½ teaspoon salt and ¼ teaspoon black pepper. This layer should be slightly saucy but not watery.
Create the Perfect Egg Nest
Make four small wells in the vegetable mixture using a spoon. Crack 1 large egg into each well, being careful not to break the yolks. Sprinkle the entire skillet with the ½ cup shredded cheese and ¼ cup chopped fresh basil. The cheese will melt into the eggs and vegetables, while the basil adds that fresh, bright flavor that ties everything together.
Cover the skillet with a lid and cook for 3-4 minutes on the stovetop. You want the whites to set but the yolks to remain runny. The cheese should melt completely and create a creamy sauce that coats the eggs and vegetables. Keep an eye on it—overcooking will turn those perfect runny yolks into scrambled eggs.
Finish with Butter and Serve Immediately
Remove the skillet from heat and let it sit for 1 minute. Then, add the 3 tablespoons unsalted butter to the pan. Tilt the skillet slightly and spoon the melted butter over the eggs and hash browns, letting it pool around the edges. This step is what takes your skillet from good to incredible—it adds richness and helps create that signature "baked" flavor.
Serve immediately while the hash browns are still crispy and the eggs are perfectly runny. The contrast of the crispy potatoes, tender vegetables, creamy eggs, and melted cheese is what makes this skillet so addictive. Don't skip the butter step—it's the secret to that restaurant-quality finish.
Pro Tips For Making Tomato Egg Skillet
- PREHEAT PAN LOW: I learned this the hard way—starting with high heat makes the potatoes steam instead of crisp. Russets need a medium-low flame to brown properly without turning to mush, so give the pan a solid 3-4 minutes to warm through before adding oil.
- SALT POTATOES BEFORE COOKING: This isn’t just seasoning—it’s texture insurance. Toss diced russets with ½ teaspoon salt before they hit the pan. The salt draws out moisture, helping them crisp up faster and preventing soggy edges later.
- CHOP TOMATOES SMALL: I used to halve Roma tomatoes and wondered why they stayed rubbery. Dice them into ¼-inch pieces—they’ll break down into a jammy sauce instead of sitting like wet logs. (Yes, even if you’re impatient like me.)
- CRACK EGGS DIRECTLY IN: Skip the bowl. Crack eggs straight into the skillet when the potatoes are nearly done—this lets them cook in their own heat, creating a softer yolk and firmer whites. Just be quick about it, or you’ll scramble them by accident.
Dietary considerations for this recipe
Gluten-Free Adaptation
The beauty of this skillet is that it’s naturally gluten-free—no flour or wheat-based ingredients are needed! Just stick to the original recipe using certified gluten-free potatoes (like Russet or Yukon Gold) and ensure your red pepper flakes and cheese are labeled gluten-free.
I always double-check my Ore-Ida Golden Crinkles packaging for gluten-free certification, especially if I'm cooking for someone with celiac disease. The crispy hash browns stay perfectly gluten-free while delivering that satisfying crunch. 🥔
Dairy-Free Options
Skip the cheese and butter for a dairy-free version, but don’t miss out on flavor! Replace the 3 tbsp unsalted butter with 3 tbsp olive oil or dairy-free butter (like Miyoko’s) and use dairy-free shredded cheese (like Violife) instead of cheddar.
The eggs and tomatoes still shine, and you can add a sprinkle of nutritional yeast for a cheesy flavor without dairy. The dish remains hearty and delicious while keeping it allergy-friendly. 🧈
Low-Carb Swaps
For a lower-carb version, swap the potatoes for cauliflower hash browns (like Green Giant) or zucchini slices (thinly shaved with a mandoline). Both options crisp up beautifully and cut carbs significantly. I’ve also used radishes (sliced thin) for a peppery bite that holds up well in the skillet.
The rest of the recipe stays the same, so you still get that rich, savory tomato-egg combo without the potato overload. 🥬
Vegan Egg Substitutes
Make this skillet vegan by replacing eggs with tofu scramble (firm tofu crumbled and seasoned) or chickpea flour "eggs" (mix 2 tbsp chickpea flour with 3 tbsp water and ½ tsp turmeric for color). The texture won’t be identical, but it’s a tasty alternative.
For the runny-yolk effect, try silken tofu dollops (blended with a pinch of salt) as a topping. The tomatoes and cheese (or dairy-free alternative) still hold the dish together beautifully. 🌱
Protein Boost
Add extra protein by stirring in crumbled sausage (Italian or chorizo) with the onions or sprinkling cooked bacon bits (about ¼ cup) on top before serving. For a vegetarian boost, mix in white beans (½ cup, drained and rinsed) with the tomatoes—they soak up the flavors perfectly.
These additions keep the dish hearty while adding texture and depth. 🍳
Nutrition facts
Frequently asked questions
Can I make this skillet ahead of time?
Yes, but with a few key adjustments. Cook the hash browns and tomato-vegetable base first, then store them separately in airtight containers for up to 3 days. When ready to serve, reheat the potatoes in a skillet over medium heat for 3-4 minutes to restore crispiness, then add the eggs fresh. The eggs should always be cooked last for that perfect runny yolk.
How do I keep the hash browns crispy?
The secret is twofold: cook them at medium-high heat until golden brown, then finish with butter. Don't overcrowd the pan—this recipe works best with a 12-inch cast iron skillet or similar size. If using frozen hash browns, pat them completely dry before cooking to prevent steaming.
What's the best way to get runny yolks?
Use fresh eggs at room temperature and cook them low and slow. Cover the skillet after adding eggs and cook for just 3-4 minutes—the yolks should still jiggle slightly when gently shaken. Remove from heat immediately if they set too quickly. Pro tip: Add a pinch of salt to the water if you're boiling eggs separately for practice!
Can I use canned tomatoes instead of fresh?
Diced canned tomatoes work perfectly—they're convenient and hold up well to cooking. For best results, use Roma tomatoes (they're meatier) and drain most of the liquid before adding to the skillet. Add a splash of water or broth if needed to prevent drying out. The flavor will be slightly different but still delicious.
What's the best side dish to serve with this?
This skillet pairs beautifully with crusty bread or toasted sourdough for soaking up those runny yolks. For a lighter option, serve with a simple mixed greens salad dressed with lemon vinaigrette. The acidity cuts through the richness of the eggs and cheese perfectly. Avocado slices also add a nice fresh contrast!
