Quick Recipe Version (TL;DR)
Quick Ingredients
- 400 g cooked roast potatoes, chopped (about 3 cups)
- 250 g cooked cabbage, shredded (about 2 packed cups)
- 2 tbsp unsalted butter
- 1 tbsp vegetable oil
- 1/2 tsp fine sea salt, plus more to taste
- 1/4 tsp freshly ground black pepper
- 2 large eggs
- 2 tbsp brown sauce, to serve
- 1 tbsp chopped fresh parsley (optional)
Do This
- 1. Chop potatoes into 1–2 cm chunks; shred cabbage. Pat dry.
- 2. Heat 2 tbsp butter and 1 tbsp oil in a 25–28 cm skillet over medium heat (about 180°C/355°F pan surface) until foamy, 1 minute.
- 3. Add potatoes and cabbage; season with 1/2 tsp salt and 1/4 tsp pepper. Toss, then press into an even 1.5 cm-thick layer.
- 4. Cook undisturbed 6–8 minutes until the underside is deep golden and the edges are crunchy.
- 5. Loosen and flip in large sections; press again. Cook 5–7 minutes until crisp and hot through.
- 6. In a small pan, cook 2 eggs over medium heat (165–175°C/330–350°F pan) 2–3 minutes; cover for 30–45 seconds to set the whites, yolks runny.
- 7. Cut into wedges, top each with a fried egg, splash with 1 tbsp brown sauce, and garnish with parsley.
Why You’ll Love This Recipe
- Transforms humble leftovers into a golden, crunchy-edged classic.
- One-pan main that’s fast, comforting, and budget-friendly.
- Runny fried egg and tangy brown sauce bring everything together.
- Easily scaled and flexible with add-ins you already have.
Grocery List
- Produce: Cooked cabbage (Savoy or white), fresh parsley (optional), small onion (optional)
- Dairy: Unsalted butter, large eggs
- Pantry: Leftover roast potatoes, vegetable oil, fine sea salt, black pepper, brown sauce
Full Ingredients
For the Bubble and Squeak
- 400 g cooked roast potatoes, roughly chopped into 1–2 cm pieces (about 3 cups)
- 250 g cooked cabbage, shredded (about 2 packed cups)
- 2 tbsp unsalted butter
- 1 tbsp vegetable oil (or light olive oil)
- 1/2 tsp fine sea salt, plus more to taste
- 1/4 tsp freshly ground black pepper
For the Eggs and Serving
- 2 large eggs
- Pinch of salt and pepper for the eggs
- 1 tsp vegetable oil or 1 tsp butter (for the egg pan)
- 2 tbsp brown sauce (1 tbsp per serving)
- 1 tbsp finely chopped fresh parsley (optional garnish)
Optional Add-Ins
- 1 small onion, thinly sliced and softened first, 5–6 minutes in a little oil
- 1/2 cup leftover cooked veg (e.g., Brussels sprouts, carrots, leeks), chopped
- 30 g mature cheddar, grated (about 1/3 cup), sprinkled during the last 1–2 minutes

Step-by-Step Instructions
Step 1: Prep the leftovers
Chop the cooked roast potatoes into 1–2 cm chunks and shred the cooked cabbage. Pat both dry with a paper towel; drier ingredients crisp better. If using any optional leftover veg, chop them to a similar size.
Step 2: Heat the pan and the fat
Place a 25–28 cm (10–11 inch) nonstick or cast-iron skillet over medium heat. Add 2 tbsp butter and 1 tbsp oil. Heat until the butter is fully melted and foamy, about 1 minute. Aim for a pan-surface temperature around 180°C/355°F if you have an infrared thermometer.
Step 3: Season, toss, and press
Add the potatoes and cabbage to the pan. Season with 1/2 tsp salt and 1/4 tsp pepper. Toss to coat in the butter and oil. Using a spatula or the back of a spoon, press the mixture into an even, compact layer about 1.5 cm thick, covering the base of the pan.
Step 4: Crisp the first side
Cook undisturbed for 6–8 minutes until the underside is deep golden brown and the edges are crunchy. You should hear a steady, gentle sizzle. If it smells like the butter is browning too quickly, reduce the heat slightly to medium-low.
Step 5: Flip and finish
Slide a spatula underneath to loosen the cake. Flip in large sections (or invert onto a plate and slide back in) and press again. Cook the second side 5–7 minutes until evenly crisp and hot throughout. Taste and adjust salt and pepper if needed.
Step 6: Fry runny eggs
Meanwhile, warm a small nonstick pan over medium heat (about 165–175°C/330–350°F pan surface). Add 1 tsp oil or butter. Crack in 2 eggs, sprinkle with a pinch of salt and pepper, and cook 2–3 minutes. For set whites and runny yolks, add 1 tsp water and cover for 30–45 seconds.
Step 7: Plate and sauce
Cut the bubble and squeak into two wedges. Top each wedge with a fried egg. Finish with a generous splash of brown sauce (about 1 tbsp per plate) and a sprinkle of chopped parsley, if using. Serve immediately while the edges are crisp.
Pro Tips
- Butter + oil = flavor and higher burn point, so you get deeper browning without scorching.
- Dry equals crisp: pat the leftovers dry and avoid overcrowding the pan.
- Press firmly to encourage a cohesive cake with a crunchy crust and fluffy middle.
- If making a larger batch, use a 30 cm skillet and extend each side by 1–2 minutes.
- No flip drama: turn it in big pieces or invert onto a plate, then slide back into the pan.
Variations
- Cheese-Crusted: Scatter 30–40 g grated cheddar over the top during the last 2 minutes and let it melt and crisp.
- Bacon & Onion: Fry 2 rashers chopped streaky bacon and 1 small sliced onion first; lift out, cook the cake in the rendered fat plus 1 tbsp butter, then fold bacon and onion into the mix before pressing.
- Spiced: Add 1/2 tsp curry powder or 1/4 tsp smoked paprika with the salt and pepper for a warm, savory twist.
Storage & Make-Ahead
Press the potato–cabbage mixture into the skillet, then cool, cover, and refrigerate up to 24 hours before frying. Cooked bubble and squeak keeps in an airtight container in the fridge for up to 3 days (respect the original leftover date). Reheat in a lightly oiled skillet over medium heat 3–4 minutes per side, or in a 220°C/425°F oven for 10–12 minutes. Fry eggs fresh just before serving.
Nutrition (per serving)
Approximate: 455 calories; 23 g fat; 51 g carbohydrates; 11 g protein; 4 g fiber; 5 g sugars; 520 mg sodium. Values will vary based on the original roast potatoes and brand of brown sauce.
