This cheesy ham and broccoli frittata is one of those recipes that works any time of day. Packed with fluffy eggs, savory ham, tender broccoli, and melty cheddar cheese, it comes together in about 25 minutes using simple ingredients you likely already have. I started making this on busy weeknights when I needed something filling fast, and it has been a staple ever since.
There is something genuinely comforting about a frittata. It started as my go-to fridge-cleanout meal and quickly became a family favorite. The broccoli stays tender, the ham adds a salty savory bite, and those cubes of cheddar melt into little pockets of cheesy goodness throughout. This cheesy ham and broccoli frittata hits every note, hearty, simple, and totally satisfying.
Table of Contents
Ingredients for Cheesy Ham and Broccoli Frittata
I always keep a ham steak in the freezer specifically for recipes like this. The ingredients are simple, but each one plays a real role in making this frittata work beautifully every time.
- 1 tsp olive oil
- 1 small onion, chopped (or half a large onion) – I recommend cooking it low and slow for the best sweet flavor
- 1 crown fresh broccoli, florets separated
- 1.5 cups cooked ham, chopped – my go-to is a ham steak, easy to cube and perfectly meaty
- 6 oz cheddar cheese, cut into chunks – in my experience, cubing instead of shredding gives you those amazing melty pockets
- 9 large eggs
- 0.5 cup whole milk
- 0.75 tsp salt
- 0.25 tsp cayenne pepper – I usually add a pinch more for a subtle kick
- 0.125 tsp black pepper, or to taste

Step-by-Step Instructions
I recommend reading through all the steps before you start since a few things happen at the same time. Once you get the rhythm down, this cheesy ham and broccoli frittata comes together smoothly.
Step 1: Bring 5 cups of water to a boil in a small pot, seasoning with 2 tsp salt. This is separate from the salt used in the egg mixture.
Step 2: Heat olive oil in an 11-inch cast iron skillet over medium heat. Add chopped onions and cook until soft and translucent, about 5 to 8 minutes. Turn the burner off if they finish before you are ready.
Step 3: Once the water reaches a rolling boil, add broccoli florets. Cover immediately and set a timer for exactly 3 minutes. Do not lift the lid. Drain right away into a colander and do not rinse.
Step 4: Whisk together eggs, milk, 0.75 tsp salt, cayenne, and black pepper in a mixing bowl until fully combined.
Step 5: Preheat your broiler and move the oven rack to about 5 inches from the flame.
Step 6: Layer the blanched broccoli over the cooked onions. Add the chopped ham on top, then scatter the cheese chunks evenly across the surface.
Step 7: Turn the burner back to medium. Make sure the pan is hot before pouring in the egg mixture. A hot pan is key to getting the edges to set properly.
Step 8: Pour the egg mixture over everything. Do not stir. Cook undisturbed for 7 to 9 minutes until the edges are visibly set and the center still looks slightly wet.
Step 9: Move the skillet to the broiler. Broil for 2 to 5 minutes, checking every single minute. The frittata is done when the top is golden brown and the center is fully set with no jiggle. Let it rest 2 to 3 minutes before slicing.
What to Serve with Cheesy Ham and Broccoli Frittata
The right sides balance the richness of the eggs and cheese while adding freshness or a little crunch to the plate.
Simple Green Salad: A lightly dressed arugula or mixed greens salad cuts right through the richness of the frittata and adds a fresh, crisp contrast that works at any meal of the day.
Broccoli Cheddar Soup: If you are leaning into the broccoli and cheddar theme, a warm bowl of broccoli cheddar soup alongside a smaller frittata slice makes a cozy and satisfying lunch combination.
Creamy Zucchini Soup: A light, velvety soup pairs beautifully with the heartiness of this frittata without overwhelming the plate. Great for a weeknight dinner pairing.
Crusty Bread or Toast: A warm slice of sourdough or toasted whole grain bread is perfect for scooping up any cheesy bits left on the plate. It rounds out the meal without any extra effort.
Cilantro Lime Rice: The bright acidity of cilantro lime rice cuts through the richness of the eggs and cheese beautifully. It also adds a satisfying base that turns a frittata slice into a full dinner plate.
BLT Pasta Salad: A cold pasta salad on the side adds texture contrast and a smoky, tangy flavor that complements the savory ham and cheddar in the frittata.
Green Bean Casserole: For a more generous dinner spread, a classic green bean casserole brings a creamy, comforting side that pairs naturally with the cheesy egg flavors of this dish.

Storage and Serving Tips
This frittata stores well and honestly tastes great the next day. Keep leftovers in an airtight container in the refrigerator for up to 4 days. For longer storage, wrap individual slices tightly and freeze for up to 2 months.
To reheat, I recommend using a toaster oven or a skillet over low heat. This keeps the eggs from turning rubbery, which is what tends to happen in the microwave. A few minutes in the oven at 300 degrees F brings it right back to life with a slightly crisp edge.
Pro tip: this cheesy ham and broccoli frittata works great for meal prep. Make it on Sunday and you have a protein-packed breakfast or lunch ready for the whole week.
FAQs
Can I use frozen broccoli instead of fresh?
Yes, but thaw and pat it completely dry before adding it to the pan. Excess moisture from frozen broccoli can make the eggs watery and prevent them from setting properly.
What size cast iron skillet works best for this recipe?
An 11-inch cast iron skillet is ideal for 9 eggs and all the fillings. A smaller skillet will make the frittata too thick and harder to cook through evenly under the broiler.
Can I swap the ham for another protein?
Absolutely. Cooked crumbled sausage, crispy bacon, or even leftover rotisserie chicken all work well here. Just make sure whatever protein you use is fully cooked before adding it to the pan.

Cheesy Ham and Broccoli Frittata
Ingredients
Equipment
Method
- Bring 5 cups of water to a boil in a small pot, seasoning with 2 tsp salt. This is separate from the salt in the egg mixture.
- Heat olive oil in an 11-inch cast iron skillet over medium heat. Add chopped onions and cook until soft and translucent, about 5 to 8 minutes. Turn the burner off if they finish early.
- Once the water reaches a rolling boil, add broccoli florets. Cover immediately and set a timer for exactly 3 minutes. Do not lift the lid. Drain right away into a colander and do not rinse.
- Whisk together eggs, milk, 0.75 tsp salt, cayenne, and black pepper in a mixing bowl until fully combined.
- Preheat your broiler and move the oven rack to about 5 inches from the flame.
- Layer the blanched broccoli over the cooked onions. Add the chopped ham on top, then scatter the cheese chunks evenly across the surface.
- Turn the burner back to medium. Make sure the pan is hot before pouring in the egg mixture. A hot pan is key to getting the edges to set properly.
- Pour the egg mixture over everything. Do not stir. Cook undisturbed for 7 to 9 minutes until the edges are visibly set and the center still looks slightly wet.
- Move the skillet to the broiler. Broil for 2 to 5 minutes, checking every minute. The frittata is done when the top is golden brown and the center is fully set with no jiggle. Let it rest 2 to 3 minutes before slicing.









