Quick Recipe Version (TL;DR)
Quick Ingredients
- 2.5 lb russet potatoes, peeled and cubed
- 4 tbsp unsalted butter
- 1/2 cup warm whole milk
- 1 large egg yolk (optional)
- 1 tbsp olive oil
- 1 medium onion, diced
- 1.5 cups diced carrots
- 3 garlic cloves, minced
- 1.5 lb 90% lean ground beef
- 1 tsp dried thyme (or 1 tbsp fresh)
- 1 tbsp tomato paste
- 1.5 cups gluten-free low-sodium beef broth
- 1 tbsp gluten-free tamari or 2 tsp gluten-free Worcestershire
- 2 tbsp cornstarch + 3 tbsp cold water (slurry)
- 1 cup frozen peas
- 1.5 tsp kosher salt, divided, plus more to taste
- 3/4 tsp black pepper, divided
- Chopped parsley, for garnish
Do This
- 1. Heat oven to 400°F (200°C). Put potatoes in a pot of salted cold water; bring to a boil and simmer 12–15 minutes until tender.
- 2. Sauté onion and carrots in olive oil 6–8 minutes. Add garlic 30 seconds. Brown beef with 1/2 tsp salt and 1/4 tsp pepper, 5–6 minutes.
- 3. Stir in thyme and tomato paste 1 minute. Add broth and tamari; simmer 3 minutes.
- 4. Mix cornstarch with cold water; drizzle in while simmering, stirring until glossy and thickened. Stir in peas; season to taste.
- 5. Drain potatoes; mash with butter, warm milk, 1 tsp salt, and 1/2 tsp pepper. Beat in egg yolk if using.
- 6. Spread beef mixture in a 2-quart baking dish; top with mashed potatoes, creating ridges.
- 7. Bake 20–25 minutes until bubbling and lightly golden (broil 1–2 minutes for deeper color). Rest 10 minutes; garnish with parsley.
Why You’ll Love This Recipe
- All gluten-free ingredients with a glossy cornstarch-thickened gravy—no wheat flour needed.
- Comforting, cottage-style beef filling with sweet carrots and pops of green peas.
- Fluffy mashed-potato crust that bakes up golden with rich, savory edges.
- Make-ahead friendly and freezer-ready for easy weeknight dinners.
Grocery List
- Produce: Russet potatoes, onion, carrots, garlic, fresh parsley (optional), thyme (fresh or dried)
- Dairy: Unsalted butter, whole milk, 1 egg (optional)
- Pantry: Olive oil, gluten-free low-sodium beef broth, gluten-free tamari or gluten-free Worcestershire, tomato paste, cornstarch, frozen peas, kosher salt, black pepper
Full Ingredients
Mashed-Potato Topping
- 2.5 lb russet potatoes, peeled and cut into 1.5-inch chunks
- 4 tbsp unsalted butter
- 1/2 cup whole milk, warmed
- 1 large egg yolk (optional, for richer color and structure)
- 1 tsp kosher salt
- 1/2 tsp freshly ground black pepper
Beef Filling & Gravy
- 1 tbsp olive oil
- 1 medium yellow onion, finely diced (about 1.5 cups)
- 1.5 cups carrots, finely diced
- 3 garlic cloves, minced
- 1.5 lb ground beef (90% lean)
- 1 tsp dried thyme or 1 tbsp fresh thyme leaves
- 1 tbsp tomato paste
- 1.5 cups gluten-free low-sodium beef broth
- 1 tbsp gluten-free tamari or 2 tsp gluten-free Worcestershire sauce
- 2 tbsp cornstarch mixed with 3 tbsp cold water (slurry)
- 1 cup frozen peas
- 1/2 tsp kosher salt (plus more to taste)
- 1/4 tsp freshly ground black pepper (plus more to taste)
To Finish
- Chopped fresh parsley, for garnish

Step-by-Step Instructions
Step 1: Preheat and set up
Heat the oven to 400°F (200°C). Place a rack in the center. Set a 2-quart baking dish nearby. Put the peeled, cubed potatoes into a large pot, cover with cold water by about 1 inch, and season the water generously with salt (about 1 tablespoon for the pot). Bring to a boil over high heat.
Step 2: Cook the potatoes
Reduce to a lively simmer and cook until the potatoes are very tender when pierced with a fork, 12–15 minutes. Drain well and return them to the hot pot. Let them sit 1–2 minutes to steam off excess moisture (this keeps the mash fluffy).
Step 3: Build the savory beef base
While the potatoes cook, heat the olive oil in a large skillet over medium heat. Add the onion and carrots and cook, stirring, until softened and lightly golden, 6–8 minutes. Add the garlic and cook 30 seconds until fragrant. Crumble in the ground beef, season with 1/2 teaspoon kosher salt and 1/4 teaspoon pepper, and cook, breaking it up with a spoon, until browned with no pink spots, about 5–6 minutes. Spoon off any excess fat if needed.
Step 4: Make the cornstarch-glossed gravy
Stir in the thyme and tomato paste; cook 1 minute to caramelize the paste. Pour in the beef broth and tamari (or gluten-free Worcestershire). Bring to a simmer. In a small bowl, stir together the cornstarch and cold water until smooth. Whisk the slurry into the simmering pan in a thin stream, stirring constantly. Simmer 1–2 minutes until the sauce is glossy and thick enough to coat a spoon. Stir in the peas. Taste and adjust seasoning with a pinch more salt and pepper, if needed. Remove from the heat.
Step 5: Mash the potatoes
Mash the hot, drained potatoes with the butter, then add the warm milk, 1 teaspoon kosher salt, and 1/2 teaspoon pepper. Mash or whip until smooth and fluffy. If using, beat in the egg yolk for a richer, beautifully browned crust.
Step 6: Assemble the pie
Spread the beef mixture evenly in the baking dish. Dollop the mashed potatoes over the top and gently spread to the edges to seal. Use a spoon or fork to create ridges and swirls, which will brown nicely in the oven.
Step 7: Bake, rest, and serve
Place the dish on a rimmed baking sheet to catch any bubbles. Bake until the filling is bubbling at the edges and the potato top is lightly golden, 20–25 minutes. For deeper color, broil 1–2 minutes, watching carefully. Let rest 10 minutes to set, then garnish with chopped parsley and serve.
Pro Tips
- Start potatoes in cold, well-salted water so they cook evenly and season from within.
- Warm the milk before adding to the potatoes for extra fluffy mash that won’t seize.
- Always mix cornstarch with cold water first; adding it directly to hot liquid causes lumps.
- Adjust gravy thickness by adding a splash of broth if it’s too thick or a little more slurry if it’s thin.
- Let the pie rest 10 minutes after baking for clean slices and a cohesive layer of filling.
Variations
- Dairy-Free: Use olive oil or dairy-free butter in the mash and unsweetened plain almond milk or oat milk. The recipe remains gluten-free.
- Cheddar-Chive Top: Fold 1/2 cup shredded sharp cheddar and 1 tablespoon chopped chives into the mash for extra flavor.
- Sweet Potato Twist: Swap russets for 2.5 lb sweet potatoes for a lightly sweet, brightly colored crust.
Storage & Make-Ahead
Refrigerate leftovers tightly covered for up to 4 days. Reheat, covered, at 350°F (175°C) until hot, 20–25 minutes, or microwave individual portions 2–3 minutes. To make ahead, assemble up to 24 hours in advance and refrigerate; add 5–10 minutes to bake time. For freezing, assemble but do not bake; wrap well and freeze up to 2 months. Bake from frozen at 375°F (190°C) until bubbling in the center, 50–60 minutes (tent with foil if browning too quickly).
Nutrition (per serving)
Approximate: 520 calories; 31 g protein; 21 g fat (9 g saturated); 55 g carbohydrates; 6 g fiber; 820 mg sodium. Values will vary with exact ingredients and salt levels used.

