
Weeknight Deep Dish Taco Squares
My kids are picky. Not catastrophically picky, but the kind of picky where I’ve served a perfectly good dinner and been met with “what is this?” in a tone usually reserved for science experiments.
So when I made these taco squares on a random Tuesday and everyone cleaned their plates — and then my oldest asked if there were leftovers for tomorrow — I filed this recipe away as a permanent keeper.
It’s a biscuit crust on the bottom, seasoned taco meat in the middle, and a creamy sour cream and cheese layer on top. It bakes up into something that’s equal parts casserole and hand-held taco situation.
Takes about 40 minutes start to finish, uses pantry staples, and the leftovers genuinely reheat well. This is the kind of dinner that makes you feel like you have your life together even when you absolutely do not.
I’ve made this recipe more times than I can count — for busy school nights, for church potlucks, for the “what do I make when I have no ideas” Tuesday. It never fails.
The reason I keep coming back to it isn’t just that it’s easy (though it is). It’s that the structure of this dish actually works.
The layers stay distinct. The crust doesn’t turn to mush.
The topping sets up into something that tastes almost like a warm, cheesy dip baked right in. It’s the whole taco experience without the taco mess.
How to Make It
Preheat your oven to 375°F. Lightly grease a 9×13 baking dish — I use a Pyrex 9×13 glass baking dish because I can see the crust browning from below without lifting it, which sounds minor but is genuinely helpful.
Glass also retains heat evenly, so you’re less likely to get hot spots that cook one corner faster than another. A metal 9×13 works too — just know the crust will brown slightly faster on the bottom.
Make the crust: Stir together the biscuit mix and water until a soft dough forms. It’ll come together in about 30 seconds and look slightly rough — that’s fine.
Don’t overwork it trying to get it perfectly smooth, or the crust will be tough. Dump the dough into the center of your prepared pan and spread it evenly across the bottom using the back of a spoon or your fingertips.
Wet your fingers first if the dough is sticking to them — that little trick saves so much frustration. You want an even layer that reaches all four corners.
It’ll be thin, maybe ¼ inch, and that is exactly right.
Bake uncovered for 9 minutes. When it comes out, the crust will look pale and slightly puffed in spots — not golden, not browned, just barely set.
That’s correct. Set it aside on the counter while you finish the filling.
The residual heat from the pan will continue cooking the bottom slightly, which helps.
Cook the meat: While the crust bakes, brown the ground beef in a large skillet over medium-high heat. Break it up as it cooks — a silicone spatula is great for this because it gets into the corners of the pan and breaks up any clumps without tearing up a nonstick surface.
You want small, even crumbles, not large chunks, so the meat layer spreads evenly and every bite has a consistent texture. Cook until there’s no pink left and the beef is starting to get some color, about 7–8 minutes.
Drain off the fat. Tilt the pan, push the meat to one side, and spoon out the liquid, or transfer the meat to a colander set over a bowl.
Don’t skip this — it matters more than almost any other step in the recipe. Once drained, return the pan to medium heat and stir in the taco seasoning, tomato sauce, and garlic powder.
You’ll notice the smell change immediately — that warm, cumin-forward aroma that says “taco night” is happening. Let it simmer for 2–3 minutes, stirring occasionally, until the sauce thickens slightly and coats the meat.
It should look glossy and saucy but not soupy.
Layer the meat: Spread the meat mixture evenly over the par-baked crust, going all the way to the edges. Use a spoon to push it into the corners.
The layer should be roughly even so every square gets the same meat-to-crust ratio. If you have one area that’s thick and one that’s thin, the thick area will stay wetter and the thin area might get slightly dry — so take the extra 30 seconds to even it out.
Make the topping: In a bowl, stir together the sour cream, shredded cheddar, and mayo until combined. It should look creamy and slightly thick — like a spreadable dip.
Spoon it over the meat layer in several dollops, then spread it evenly using an offset spatula or the back of a spoon. Work gently so you don’t push the meat layer around underneath.
Get it all the way to the edges. Sprinkle the paprika evenly over the top — this is partly for color and partly for a very subtle smoky flavor that plays well with the taco seasoning.
The whole pan will look pale and cream-colored right now, but wait until it comes out of the oven.
Bake: Return the pan to the oven and bake uncovered for 25 minutes. Around the 20-minute mark you’ll start to smell the whole thing intensifying — the edges of the topping will begin to bubble and turn golden.
At 25 minutes the topping should be set (it won’t jiggle when you shake the pan gently), slightly golden at the edges, and possibly showing a few brown spots across the top. If your oven runs hot, check at 22 minutes.
If you want more color on top, run it under the broiler for 1–2 minutes at the very end — watch it closely because the topping can go from golden to over-browned fast.
Serve: Let it rest for 5 minutes on the counter before cutting. I know, I know.
But you’ll get clean squares instead of a pile of slumping filling. Cut into a 3×4 grid for 12 generous squares, or 4×4 for 16 smaller ones if you’re serving this alongside a salad or as part of a bigger spread.
Set out your toppings and let everyone load up their own.

Helpful Tips
- Don’t skip the drain. Ground beef releases a lot of fat and if it pools under the topping layer, the crust turns greasy and soft. Drain it really well — tilt the pan, spoon it out, whatever it takes. If you’re using 80/20, there will be more fat than you expect. Get it all out before you add the seasoning.
- Spread the dough thin and even. Use wet fingers or the back of a spoon — the dough is sticky. You want an even layer so the crust bakes uniformly. If one corner is thicker than the rest, that corner will be doughy when everything else is done. Take an extra minute to get it even. If the dough keeps pulling back when you spread it, let it rest 2 minutes before trying again.
- Let it rest before cutting. Five minutes of rest makes clean squares much easier. If you cut it straight from the oven the topping hasn’t fully set and the meat layer is still loose — you’ll end up with a pile instead of a square. Set a timer. Walk away from the pan. Come back in five minutes.
- Make it your own. Add a layer of canned green chiles or diced jalapeños on top of the meat before adding the topping. A can of drained black beans mixed into the meat stretches the recipe further and adds texture. A sprinkle of Mexican blend cheese instead of plain cheddar works great too. Some people add a layer of crushed tortilla chips over the meat for crunch — I’ve done this and it’s excellent.
- The paprika is optional but don’t skip it. It does more than you’d think. The color alone is worth it — a pale cream topping looks unfinished, but a dusting of paprika makes it look intentional. The flavor contribution is subtle but real. Smoked paprika is even better if you have it.
- Glass vs. metal pan. Both work. Glass heats more slowly but retains heat longer — your squares will stay warm at the table longer in glass. Metal heats faster and gives the crust more direct bottom heat, which means a slightly crispier crust base. If you want the crispiest possible bottom crust, metal is your friend. If you want the crust to stay more tender, go with glass.
Storage and Make-Ahead
Refrigerator: Store leftovers in an airtight container for up to 4 days. Reheat in a 350°F oven for 10–12 minutes or microwave individual squares for 1–2 minutes.
The crust softens a little after refrigerating but the flavor actually deepens — the taco seasoning has time to settle into everything overnight, and leftovers for lunch the next day are genuinely something to look forward to.
Freezer: This casserole freezes reasonably well. Cut into individual squares, wrap each one in plastic wrap and then foil, and freeze for up to 2 months.
Thaw overnight in the fridge before reheating. The topping texture changes slightly after freezing — it’s a little denser — but the flavor is still good.
I don’t freeze the whole pan at once because it takes forever to thaw and the quality is better with individual portions.
Make-ahead: You can prep both the meat layer and the sour cream topping up to a day in advance and refrigerate them separately in covered containers. When you’re ready to eat, blind-bake the crust, layer everything on cold (add 5–7 extra minutes to the final bake time since the components are cold), and finish in the oven.
The cold topping going onto the warm crust actually helps the layers stay distinct, so the make-ahead method might produce the cleanest squares of all.
Potluck tip: This travels really well. Bake it fully, let it cool at least 15 minutes, cover with foil, and transport.
It can be rewarmed at your destination in a 325°F oven for about 15 minutes. Pack the toppings separately in small containers and set them out at the table.
This is the recipe I’ve brought to more church potlucks than I can count, and there’s never any left.
Frequently Asked Questions
Can I use crescent roll dough instead of biscuit mix?
Yes, and it’s actually a great variation. Press crescent roll dough (one 8 oz tube) into the bottom of the pan, pinching the seams together firmly so you get a continuous base rather than separated triangles.
The bake time is about the same — check it at 8 minutes and pull it when it’s just set but not browned through. Crescent dough produces a flakier, slightly richer crust that some people actually prefer.
The flavor is more buttery than the biscuit base. Both are excellent — just pick based on what you have in the fridge.
Can I use ground turkey instead of beef?
Absolutely. Ground turkey works the same way — just drain it well too, since it still releases liquid as it cooks, especially if you’re using 85/15 turkey.
It’ll look slightly paler in the pan because it doesn’t brown the same way beef does, but once the taco seasoning and tomato sauce are mixed in, the flavor difference is minimal. Ground turkey also tends to be leaner, which means less draining and a less greasy result overall.
My kids genuinely cannot tell the difference in this recipe once the topping is on.
What if I don’t have tomato sauce?
You have a few options. Half a cup of your favorite salsa works well and adds a little extra flavor.
A tablespoon of tomato paste thinned with ⅓ cup of water gets you very close to the same result. Diced canned tomatoes, drained, can work in a pinch — the texture is slightly different but the flavor is there.
What you really want to avoid is skipping it entirely. The tomato sauce is what keeps the meat layer moist through the second bake — without it, the meat gets dry and crumbly under the topping, and the whole thing tastes less cohesive.
Is the mayo in the topping necessary?
It’s not strictly required, but I’d keep it in. The mayo acts as an emulsifier that helps the topping hold together in the oven without weeping or splitting.
Without it, the topping is slightly thicker and may need an extra minute or two to set, and you might see a little more liquid pooling at the edges. You can also swap in plain full-fat Greek yogurt — it behaves similarly to sour cream in the oven and you won’t taste a difference.
What I’d avoid is using light mayo or a mayo-style product like Miracle Whip, which has more sugar and can make the topping taste slightly off.
Can I make this vegetarian?
Yes. Replace the ground beef with two cans of drained black beans or pinto beans (or one of each), or use a plant-based ground beef crumble.
If you’re using beans, you don’t need to “cook” them the same way — just warm them in a skillet with the taco seasoning and tomato sauce for a few minutes until everything is heated through and the sauce is absorbed. The texture is different (you lose the crumble, obviously), but the flavor is solid and it still bakes up beautifully under the topping.
I’d add a pinch more garlic powder and maybe a little cumin if you’re going the bean route.
How do I know when it’s done?
The topping is the tell. At 25 minutes it should be fully set — shake the pan gently and it shouldn’t jiggle.
The edges will have pulled away slightly from the pan and turned golden, sometimes with a few brown spots across the surface. If the center still looks wet or jiggles when you move the pan, give it another 3–5 minutes.
Ovens vary more than recipes acknowledge, so treat 25 minutes as a starting point rather than an absolute. Start checking at 22 minutes and trust your eyes over the timer.
Can I add cheese on top of the topping layer?
You can, but you don’t need to — the topping already has a full cup of cheese mixed into it. If you want more visible melted cheese on the surface, scatter a small handful of shredded cheese over the topping in the last 5 minutes of baking.
Don’t add it at the start or it’ll over-brown before the topping is set. A light handful, not a full layer — you want it to melt into the top rather than form a separate cheesy lid.
My crust came out soggy. What went wrong?
Almost always, this is a draining issue. If the ground beef wasn’t fully drained before you added the tomato sauce and seasoning, the excess fat and liquid cooked into the meat layer and then soaked down into the crust during the second bake.
The other possibility is that the dough wasn’t spread thin enough in spots — a thick patch of crust can end up underbaked in the center even when the rest is fine. Make sure you drain thoroughly, spread the dough evenly, and don’t skip the 9-minute blind bake.
Do those three things and you’ll have a solid crust every time.
Related Recipes

