A cheesy, loaded hashbrown casserole recipe made from scratch without canned soup or cream-of anything. Includes tips for making in advance and freezing–perfect for holidays or brunches!

A From Scratch Hashbrown Casserole Recipe
While you’ve probably had a hashbrown casserole before, this version earns the label of being the ultimate, loaded hashbrown casserole recipe.
It’s a comforting, cheesy shredded potato casserole amped up with crispy bacon, sautéed onions, and more. It works as a breakfast alongside sausage gravy and pancakes or a hearty holiday side dish on a plate beside maple glazed carrots.
Why You’ll Love This Recipe
No condensed soup! Instead, we’ll make our own version from scratch (we do this in my green bean casserole, too), and the recipe is all the better for it. Don’t let this scare you away–I promise it’s as easy as whisking some ingredients together!
Elevated classic. Simple swaps like cooking the onion in bacon grease, making the condensed soup from scratch, shredding our own cheeses, adding scallions, etc. all take this beloved classic to the next level.
Make-ahead friendly. Just like my mashed potato casserole, this dish is great for making in advance. Simply cover and refrigerate until needed, then thaw and bake. You can also freeze this hashbrown casserole recipe, making it perfect for holiday meal prepping!
Versatile. This recipe is just as tasty as a brunch recipe as it is a Thanksgiving side dish. The flavors pair well with any mealtime!
]]>Jump to:
Ingredients

Hashbrowns. You’ll need one 30 oz bag of frozen shredded hashbrowns. If you choose to use the diced hashbrown version (like for funeral ptoatoes!), those come in 32 oz bags; you can either add the extra 2 oz of potatoes or save them for another meal.
Shredded cheese. Including mozzarella and sharp cheddar. I really recommend shredding your own for the best melting, but you can always use pre-shredded in a pinch. Make sure you don’t dump all of your cheddar cheese in at once; we will be saving some for the top of the casserole!
Bacon. This isn’t a typical ingredient, but it adds a TON of flavor and really completes the loaded potato vibe we are going for. If you have extra bacon after making this recipe, put it towards my potato soup, BLT dip, chili recipe, or bacon jalapeno popper dip 😉
Spices. Including garlic powder, onion powder, ground mustard, and black pepper. Ground mustard might raise some eyebrows, but it is common in creamy/cheesy casseroles and soups, like my baked mac and cheese or broccoli cheddar soup.
Cream cheese & sour cream. I recommend full-fat versions of both. And for those of you who hate sour cream, I promise you won’t be able to detect the it in the final product.
Remember, this is just an overview of the ingredients I used and why. For the full recipe please scroll down to the bottom of the post!
SAM’S TIP: I highly recommend thawing your frozen hashbrowns before using them–more on this in the FAQ section below!
How to Make Hashbrown Casserole From Scratch

Step 1: Build a flavorful base. Start by cooking your bacon until crisp, then remove and drain most of the grease, leaving 1 ½ tablespoons. Add your butter to the pot, and once it’s melted, add the chopped onions. Cook until softened, then sprinkle the flour overtop and whisk until it forms a paste.

Step 2: Make a roux. Slowly pour in the milk while whisking, then add the broth, spices, and salt. Bring to a boil, then reduce the heat and let simmer until thickened, stirring frequently.

Step 3: Add the cheeses. Reduce the heat and add the mozzarella, sour cream, cream cheese, and just 2 cups of the cheddar (we’ll use that final cup later!).

Step 4: Finish the sauce. Whisk in the cheeses and let everything melt until you have a smooth, cohesive sauce.

Step 5: Add the potatoes, bacon, and onions. Fold in the bacon, scallions, and thawed hashbrowns until everything is combined.

Step 6: Top with cheese & bake. Pour the mixture into a buttered dish, then sprinkle the remaining cheddar cheese overtop. Bake until bubbly and melted, about 35 minutes.
SAM’S TIP: If you’d like to make your casserole in advance and bake later, simply cover and refrigerate before the baking step. When you’re ready to bake, remove the casserole from the fridge, uncover, and let sit for about 20 minutes at room temperature before baking as instructed.

Frequently Asked Questions
For the easiest preparation, I really recommend you thaw your hashbrowns. You can either place them in the fridge the night before or pour them into a colander or large bowl and allow to sit at room temperature for 45-60 minutes. Whichever method you use, be sure to drain off any excess moisture before using.
Frozen hashbrowns will technically still work, but they will be more difficult to work with (mixing them in gets a bit stiff!)and you may need to increase the cook time.
The cheese will be melty and will have some nice golden browning happening all over. You should also see some bubbling around the edges of the pan.
Pretty much! The only difference is that funeral potatoes are often made with diced potatoes instead of shredded and they sometimes have a buttery cornflake topping (which sounds amazing).
My hashbrown casserole recipe switches things up a little bit more by starting with a bacon base and replacing the condensed soup with a homemade version. But feel free to consider it a funeral potatoes recipe!

Do you typically serve hashbrown casserole for breakfast, or do you serve it as a holiday side dish? Let me know in the comments!
Enjoy!
Let’s bake together! Subscribe to my newsletter to be notified of all the newest recipes, and find my free recipe tutorials on YouTube 💜

Cheesy Hashbrown Casserole
A cheesy, loaded hashbrown casserole recipe made from scratch without canned soup or cream-of anything. Includes tips for making in advance and freezing–perfect for holidays or brunches!
]]>]]>
Print
Pin
Rate
Cook ModePrevent your screen from going dark
Servings: 10 servings
Calories: 399kcal
Instructions
Preheat oven to 350F (175C) and lightly butter a 2.5 quart casserole dish (a glass or ceramic 13×9 or 11×8 pan would also work). Set aside.
Place chopped (uncooked) bacon in a large pot or Dutch oven and cook over medium heat until crisp and cooked through. Remove bacon to a paper towel lined plate and drain all but about 1 ½ Tablespoons of grease.
6 strips bacon
Add butter to the pot and allow it to melt. Add chopped onions and cook, stirring frequently until softened (3-5 minutes).
3 Tablespoons salted butter, 1 (110 g) small onion
Sprinkle flour over onion and whisk until smooth (should be like a paste).
¼ cup (31 g) all-purpose flour
Gradually add milk while whisking. Add broth, garlic powder, onion powder, ground mustard, salt, and pepper and stir well. Bring to a boil.
1 cup (235 ml) whole milk, 1 ¼ cups chicken broth, 1 teaspoon garlic powder, ½ teaspoon onion powder, ½ teaspoon ground mustard, ½ teaspoon salt, ½ teaspoon pepper
Once mixture begins to boil, reduce heat, bring to a simmer, and stir frequently until thickened.
Reduce heat to low and add cream cheese, 2 cups (226g) cheddar, mozzarella, and sour cream. Stir until cheeses are melted and mixture is smooth.
3 oz (85 g) cream cheese, 2 ½ cups (283 g) shredded sharp cheddar cheese, 1 cup (115 g) shredded mozzarella cheese, ⅔ cup (160 g) sour cream
Add hash browns, green onion, and cooked bacon pieces. Stir well and pour into prepared casserole dish, sprinkle evenly with remaining 1 cup (113g) cheddar cheese.
30 oz (850 g) frozen hash browns, 3 Tablespoons finely sliced green onions
Transfer to 350ºF (175ºC) oven and bake 35 minutes until heated through and cheese on top is melted.
Notes
To Make in Advance: Follow recipe instructions through step 8 then cover tightly and refrigerate. Once you’re ready to bake, remove the cover, allow it to sit at room temperature for 15-20 minutes, then bake according to recipe instructions.
To Freeze: Prepare casserole through step 8. Cover tightly (make sure it is airtight!) and freeze for up to 3 months. Thaw in the refrigerator overnight before baking and then bake according to recipe instructions.
Nutrition
Serving: 1serving | Calories: 399kcal | Carbohydrates: 23g | Protein: 15g | Fat: 28g | Saturated Fat: 15g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 8g | Trans Fat: 0.2g | Cholesterol: 76mg | Sodium: 655mg | Potassium: 403mg | Fiber: 2g | Sugar: 3g | Vitamin A: 737IU | Vitamin C: 8mg | Calcium: 327mg | Iron: 1mg
Nutritional information is based on third-party calculations and should be considered an estimate only. Actual nutritional content will vary based upon brands used, measuring methods, cooking method, portion sizes, and more.
I originally published this recipe in 2018, I’ve since updated the post to include new photos and a few minor tweaks (a smidge more bacon and a little less cheese).
