Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (907 g) Yukon Gold potatoes, peeled and cut into 1 1/2-inch chunks
- 1 lb (454 g) russet potatoes, peeled and cut into 1 1/2-inch chunks
- 2 tsp kosher salt, plus more to taste (divided)
- 6 tbsp (85 g) unsalted butter, divided
- 3/4 cup (180 ml) heavy cream
- 1/2 cup (120 ml) whole milk
- 1/2 tsp garlic powder (optional)
- 1/2 tsp freshly ground black pepper, plus more to taste
- 2 large yellow onions (about 1 lb / 454 g), thinly sliced
- 1 tbsp olive oil
- 1 1/2 tbsp all-purpose flour
- 2 cups (480 ml) beef stock (or vegetable stock)
- 1 tsp Worcestershire sauce (optional)
- 1 tsp fresh thyme leaves (or 1/2 tsp dried thyme)
Do This
- 1. Start onions: cook sliced onions in 2 tbsp butter + 1 tbsp olive oil with 1/2 tsp salt over medium-low 35–40 min until deep brown.
- 2. Boil potatoes: cover with cold water + 1 1/2 tsp salt; simmer 15–20 min until very tender.
- 3. Warm dairy: heat cream + milk with 4 tbsp butter until steaming (not boiling), about 3–4 min.
- 4. Mash ultra-smooth: drain and dry potatoes 1 min; rice or mash, then stir in warm dairy, pepper, and garlic powder (optional).
- 5. Make gravy: sprinkle flour over onions 1 min; whisk in stock, thyme, and Worcestershire; simmer 5–7 min until glossy.
- 6. Serve: mound potatoes, spoon onion gravy over top, season to taste.
Why You’ll Love This Recipe
- Ultra-smooth texture: A simple technique (drying the potatoes and using warm dairy) makes them silky without getting gluey.
- Deep, Sunday-supper flavor: Slowly caramelized onions create a rich, mahogany gravy that tastes like it cooked all day.
- Doable for home cooks: No fancy equipment required (a masher works), but tips are included for extra-smooth results.
- Comfort-food friendly: Perfect with roast chicken, meatloaf, pork chops, or a mushroom main.
Grocery List
- Produce: Yukon Gold potatoes (2 lb / 907 g), russet potatoes (1 lb / 454 g), yellow onions (2 large, about 1 lb / 454 g), fresh thyme (optional)
- Dairy: Unsalted butter, heavy cream, whole milk
- Pantry: Olive oil, all-purpose flour, beef stock (or vegetable stock), kosher salt, black pepper, garlic powder (optional), Worcestershire sauce (optional)
Full Ingredients
Creamy Mashed Potatoes
- 2 lb (907 g) Yukon Gold potatoes, peeled and cut into 1 1/2-inch chunks
- 1 lb (454 g) russet potatoes, peeled and cut into 1 1/2-inch chunks
- 2 tsp kosher salt, divided (1 1/2 tsp for the pot; 1/2 tsp for final seasoning, plus more to taste)
- 4 tbsp (57 g) unsalted butter
- 3/4 cup (180 ml) heavy cream
- 1/2 cup (120 ml) whole milk
- 1/2 tsp freshly ground black pepper, plus more to taste
- 1/2 tsp garlic powder (optional)
Caramelized Onion Gravy
- 2 large yellow onions (about 1 lb / 454 g), halved and thinly sliced
- 2 tbsp (28 g) unsalted butter
- 1 tbsp olive oil
- 1/2 tsp kosher salt (for the onions)
- 1 1/2 tbsp all-purpose flour
- 2 cups (480 ml) beef stock (or vegetable stock)
- 1 tsp Worcestershire sauce (optional, adds savory depth)
- 1 tsp fresh thyme leaves (or 1/2 tsp dried thyme)
- 1/4 tsp freshly ground black pepper, plus more to taste
Optional Finish
- 1 tbsp chopped fresh parsley or chives (for serving)
- Extra black pepper to taste

Step-by-Step Instructions
Step 1: Start caramelizing the onions low and slow
Set a large skillet (12-inch works well) over medium-low heat. Add 2 tbsp unsalted butter and 1 tbsp olive oil. Once the butter is melted, add the thinly sliced onions and 1/2 tsp kosher salt.
Cook for 35–40 minutes, stirring every 3–5 minutes at first and a bit more often toward the end. The onions should go from pale and steamy to golden, then to a deep brown, jammy color. If they start to stick, lower the heat slightly and stir well; you want slow caramelization, not scorching.
Step 2: Boil the potatoes until very tender
While the onions cook, place the peeled, chopped potatoes into a large pot and cover with cold water by about 1 inch. Add 1 1/2 tsp kosher salt.
Bring to a boil over high heat, then reduce to a steady simmer over medium. Cook for 15–20 minutes, or until the potatoes are very tender (a fork should slide in with almost no resistance).
Step 3: Warm the cream, milk, and butter for silky texture
About 5 minutes before the potatoes are done, warm the dairy so it blends in smoothly. In a small saucepan over low heat, combine 3/4 cup heavy cream, 1/2 cup whole milk, and 4 tbsp butter.
Heat for 3–4 minutes until the butter melts and the mixture is steaming but not boiling (aim for roughly 150–160°F / 65–71°C if you like using a thermometer). Turn off the heat and keep it nearby.
Step 4: Drain and dry the potatoes so they don’t turn watery
Drain the potatoes in a colander, then return them to the hot pot. Set the pot back over low heat and gently stir for 60–90 seconds to evaporate excess moisture. This quick drying step is a big part of getting that fluffy, ultra-smooth mash.
Step 5: Mash (or rice) and enrich with warm dairy
For the smoothest result, pass the hot potatoes through a potato ricer (or food mill) back into the pot. If using a masher, mash thoroughly until no lumps remain.
Pour in about 3/4 of the warm cream mixture and stir gently with a spoon or spatula. Add more as needed until the potatoes look creamy and glossy. Season with 1/2 tsp black pepper and 1/2 tsp garlic powder (if using). Taste and add more salt if needed.
Tip: Avoid using a blender or food processor; overmixing can make potatoes gluey.
Step 6: Turn the caramelized onions into a deep brown gravy
Once the onions are deeply caramelized, sprinkle 1 1/2 tbsp flour over the onions. Stir constantly for 1 minute to cook off the raw flour taste and coat the onions.
Slowly pour in 2 cups stock while stirring or whisking to prevent lumps. Add thyme, 1 tsp Worcestershire sauce (optional), and 1/4 tsp black pepper. Bring to a simmer over medium heat and cook for 5–7 minutes, stirring often, until the gravy is glossy and spoon-coating. Taste and adjust salt and pepper.
Step 7: Serve like Sunday supper
Spoon the mashed potatoes into a warm serving bowl and make a shallow well in the center. Ladle the caramelized onion gravy over the top so it drips down the sides.
Finish with chopped parsley or chives if you like, and serve immediately while everything is hot and creamy.
Pro Tips
- Pick the right potatoes: Yukon Golds bring buttery flavor; russets bring fluffiness. The blend gives you “ultra-smooth” without heaviness.
- Don’t rush the onions: Keep the heat medium-low and be patient. Deep brown onions are the difference between “good” and “wow.”
- Warm dairy only: Cold milk/cream can cool the potatoes and make them stiff before they’re fully smooth.
- Dry the potatoes: That 60–90 seconds back in the pot prevents watery mash and helps the butter and cream absorb beautifully.
- Control gravy thickness: For thicker gravy, simmer 2–3 minutes longer. For thinner, whisk in an extra 1/4 cup (60 ml) stock.
Variations
- Vegetarian “Sunday” gravy: Use vegetable stock and add 1/2 tsp soy sauce (instead of Worcestershire) for extra savoriness.
- Garlic mashed potatoes: Add 6 whole garlic cloves to the potato pot while boiling; mash them right in.
- Mushroom-onion gravy: Sauté 8 oz (227 g) sliced cremini mushrooms in the skillet for 8 minutes before adding the onions, then proceed as written.
Storage & Make-Ahead
Refrigerate: Store mashed potatoes and gravy in separate airtight containers for up to 4 days.
Reheat potatoes: Warm in a saucepan over low heat, stirring often. Add a splash of milk (1–3 tbsp at a time) to loosen. You can also microwave covered at 50% power in 1–2 minute bursts, stirring between bursts.
Reheat gravy: Simmer gently over low to medium-low heat until hot, adding a splash of stock if it thickened too much.
Make-ahead tip: Caramelize onions up to 2 days ahead; refrigerate, then bring back to the skillet and continue with flour and stock when ready to serve.
Nutrition (per serving)
Approximate, based on 6 servings: 520 calories, 24 g fat, 68 g carbohydrates, 7 g protein, 4 g fiber, 720 mg sodium.
