Creamy ham casserole with broccoli and rice made easy with simple ingredients, cheesy texture, and a cozy make-ahead dinner the whole family loves.
I started making this on a random weeknight when I had way too much leftover ham sitting in the fridge. I didn’t want sandwiches again. I wanted something warm, filling, and honestly a little indulgent.
This casserole kind of solved all of that in one go. It’s creamy without being too heavy, and the broccoli makes me feel like I’m at least trying to be balanced. The first time I made it, I actually overcooked the rice a bit, but weirdly it still tasted great. That’s when I realized this recipe is pretty forgiving.
Now I keep coming back to it because it feels like a full meal in one dish. No juggling sides. No extra pans. Just scoop and eat.
Ingredients I Used for the Recipe
- 2 tablespoons unsalted butter – this starts everything off and gives the base a rich flavor
- 1 tablespoon olive oil – helps cook the rice evenly and keeps things from sticking
- 1/2 cup yellow onion, finely diced – adds a soft sweetness once cooked down
- 2 1/2 cups chicken broth – used instead of water to cook the rice with more flavor
- 1 1/4 cup white long grain rice, uncooked – this gives the casserole its body and texture
- 2 cups cooked ham, diced – the main protein and honestly the reason I make this
- 2 cups broccoli florets – brings color and a little freshness to balance the creaminess
- 10.75 oz cream of chicken soup – this is what makes everything creamy and cozy
- 1/2 cup sour cream – adds a slight tang and makes the texture smoother
- 3/4 cup milk – loosens the mixture so it bakes nice and soft, not dry
- 2 1/2 cups shredded cheddar cheese, divided – melts into the rice and also goes on top
- Salt and pepper, optional – I go light since the ham already has salt
- 1 cup crushed crackers – for that crunchy topping I didn’t know I needed until I tried it
- 2 tablespoons melted butter (for topping) – helps the topping turn golden and crisp
How to make Ham Casserole with Broccoli and Rice?

Step 1 – Start with butter and onions
I melt the butter in a big pan and toss in the diced onion. I let it cook until soft and a little translucent. If I rush this step, I always regret it because the onion stays too sharp.
Step 2 – Add broth, oil, and rice
I pour in the chicken broth, olive oil, and uncooked rice. Bring it up to a boil, then lower it down to a gentle simmer. It already starts smelling good at this point.
Step 3 – Let the rice cook partway
I cover the pan and let it cook for about 8 minutes. I try not to mess with it too much. Stirring too early tends to make it sticky.
Step 4 – Add the broccoli
I throw the broccoli right on top, cover again, and let it cook another 7 minutes. It steams perfectly this way without turning mushy.
Step 5 – Let it sit for a bit
Once the heat is off, I leave the lid on and let everything rest for about 10 minutes. This part feels small but makes a difference. The rice finishes cooking and loosens from the bottom.
Step 6 – Mix in the creamy stuff
Now I add the ham, cream soup, sour cream, milk, and about half the cheese. I stir until everything looks evenly coated. It gets thick and kind of messy in a good way.
Step 7 – Transfer to baking dish
I spread the mixture into a greased casserole dish. Nothing fancy here. Just make sure it’s even so it bakes right.
Step 8 – Add cheese on top
The rest of the cheddar goes right over the top. I don’t measure too carefully here. If I feel like adding more, I do.
Step 9 – Bake covered first
I cover it and bake for about 15 minutes. This melts everything together and heats it through.
Step 10 – Add the crunchy topping
I mix the crushed crackers with melted butter and sprinkle it over the top. Then I bake it uncovered for another 10 to 15 minutes until the top gets golden.
Step 11 – Let it rest before serving
I give it a few minutes before digging in. I used to skip this and ended up with a soupy mess on the plate. Waiting helps it set up just enough.
Little things I figured out along the way
The rice matters more than I thought. I tried instant rice once to save time and it turned soft in a weird way. Regular long grain rice holds up better and keeps the texture right.
I’ve used frozen broccoli a couple times too. It works, but I always make sure to thaw and dry it first. Otherwise the casserole ends up watery, and that’s not the vibe.
Cheese is another one. I used pre-shredded for a while, but it didn’t melt as smooth. Now I just grate it myself when I can. It’s a small step but I notice the difference every time.
There was also one night I skipped the cracker topping because I didn’t have any. It was still good, just missing that crunchy contrast. Now I keep something similar in the pantry just for this.
If I’m planning ahead, I’ll assemble everything and stick it in the fridge. Then bake it later. I just add a little extra time in the oven and it turns out just as good, maybe even better because the flavors sit together longer.
Tips
If your rice still feels undercooked after the initial simmer, don’t panic. I just cover it and let it go a few more minutes. It usually fixes itself.
I go easy on extra salt. The ham and soup already bring a lot of it. I taste at the end instead of guessing early.
You can switch things up with other veggies. I’ve tossed in peas and even a handful of chopped carrots once. It worked fine. This recipe doesn’t feel too strict.
For leftovers, I store it in the fridge and reheat in the oven when I have time. Microwave works too, but the topping loses its crunch. Still good though, just different.
And one last thing I learned the hard way. Don’t skip letting it rest after baking. I know it smells amazing and it’s hard to wait, but that short pause makes it hold together way better on the plate.

Leftover Ham Casserole with Broccoli and Rice Recipe
Description
This Ham Casserole is loaded with cheesy, creamy rice and perfectly cooked broccoli. It's an easy, make-ahead dinner perfect for using leftover ham with minimal prep and maximum comfort food flavor.
ingredients
Ritz Cracker Topping
Instructions
- Preheat oven to 350°F (175°C).
- Melt butter in a large saucepan over medium heat. Add diced onions and cook 5 minutes until softened.
- Add chicken broth, olive oil, and rice. Bring to a boil, then reduce heat to a simmer. Cover tightly and cook 8 minutes.
- Add broccoli florets, replace cover, and cook 7 more minutes without stirring. If rice needs more time, simmer up to 5 additional minutes.
- Remove from heat, keep covered, and let rice rest 10 minutes to absorb remaining liquid.
- Stir in diced ham, cream of chicken soup, sour cream, milk, and half the cheddar cheese until well combined.
- Transfer mixture to a lightly greased 9x13 inch casserole dish. Top with remaining cheddar cheese.
- Cover and bake 15 minutes.
- Mix crushed Ritz crackers with melted butter. Spread over casserole and bake uncovered 10 more minutes until golden.
- Let casserole rest 5 minutes before serving.
Nutrition Facts
Servings 6
- Amount Per Serving
- Calories 518kcal
- % Daily Value *
- Total Fat 34gg53%
- Saturated Fat 18gg90%
- Trans Fat 1gg
- Cholesterol 94mgmg32%
- Sodium 1618mgmg68%
- Potassium 462mgmg14%
- Total Carbohydrate 31gg11%
- Dietary Fiber 1gg4%
- Sugars 5gg
- Protein 22gg44%
- Calcium 384mg mg
- Iron 2mg mg
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
- Use white long grain rice for creamier texture; avoid instant rice.
- Frozen broccoli works: Thaw and pat dry before using.
- Cheese tip: Shred from a block for better melting than pre-shredded.
- Make ahead: Assemble without Ritz topping, refrigerate up to 2 days, then add 25 min to covered bake time.
- Freezer friendly: Freeze up to 3 months; thaw 24 hours before baking.
