Spanish Street Food: 5 Recipes from the Markets of Madrid

From the mercados and tapas bars of the Spanish capital - five dishes that define a way of eating

Spanish Street Food: 5 Recipes from the Markets of Madrid

Madrid does not have a beach. It sits at 650 metres above sea level, landlocked in the centre of the Iberian Peninsula, exposed to the extremes of a continental climate - scorching summers, bitter winters. What it has, instead, is one of the greatest food cultures in Europe: a city that eats late, eats well, and treats the act of standing at a bar with a small plate of something excellent and a glass of something cold as one of the fundamental pleasures of daily life.

The tapas bar and the mercado (food market) are the twin institutions of Madrid's street food culture. Not the street cart, not the takeaway window - the bar counter and the market stall, where the food is made daily, the quality is non-negotiable, and the experience is as much social as gastronomic. You don't eat quickly at a Madrid tapas bar. You eat slowly, you talk, you order another round, you stay longer than you planned.

The five recipes in this collection are the dishes you find at those bars and markets - the ones that appear on every Spanish table worth eating at, made from simple ingredients with the kind of technique that comes from doing the same thing every day for years. They range from the almost absurdly simple (pan con tomate, 10 minutes) to the technically satisfying (croquetas, 45 minutes), and together they make a Spanish spread that, with a cold glass of something alongside, is one of the most pleasurable ways to spend a meal.


Recipe 1: Patatas Bravas with Salsa Brava and Aioli

Time: 35 minutes | Difficulty: Beginner | Vegan (brava sauce) / Vegan option (aioli)

Patatas bravas are the default tapas dish - the one that appears on almost every bar menu in Spain and is judged, by regulars, as the immediate indicator of a kitchen's quality. Good patatas bravas have crispy, golden potatoes (not soggy, not pale) and a sauce with genuine heat and depth. Poor patatas bravas have soft, oily potatoes and a sauce made from ketchup and hot sauce. The difference is in the potato preparation and in the sauce.

The Potato Debate: Fried vs. Roasted

There are two schools of thought on patatas bravas potatoes. The Madrid school (fried): potatoes par-boiled, cooled, then deep-fried in olive oil until golden and crispy. The Catalan school (roasted): potatoes cut into irregular chunks and roasted at high heat with olive oil and salt.

Both are legitimate. The fried version produces crispier, lighter potatoes with a hollow sound when tapped. The roasted version is easier at home and produces deeply golden, slightly caramelised potatoes with more flavor from the direct oven heat.

For home cooking: We provide both methods.

Ingredients (Serves 4 as tapas)

The potatoes:

  • 800g floury potatoes (Maris Piper, King Edward, or Desiree), peeled and cut into 3-4cm irregular chunks
  • 3 tbsp extra virgin olive oil (for roasting) or sunflower oil (for frying)
  • 1 tsp fine sea salt

The brava sauce:

  • 3 tbsp extra virgin olive oil
  • 4 cloves garlic, finely sliced
  • 1 tsp smoked sweet paprika (pimentón dulce)
  • 1 tsp smoked hot paprika (pimentón picante) - or ½ tsp cayenne
  • 200g passata or tinned crushed tomatoes
  • 1 tbsp sherry vinegar
  • 1 tsp sugar
  • ½ tsp fine sea salt

The aioli (optional, for the Catalan version):

  • 2 large egg yolks, room temperature
  • 2 cloves garlic, minced to a paste with a pinch of salt
  • 200ml extra virgin olive oil
  • 1 tbsp fresh lemon juice
  • Salt to taste

Method

Roasted potatoes: Preheat oven to 220°C (fan). Toss potato chunks with olive oil and salt. Spread on a baking tray - not overlapping. Roast for 30-35 minutes, turning once at 20 minutes, until deep golden and crispy at the edges.

Fried potatoes: Par-boil the potato chunks in salted water for 8 minutes until just cooked through but still firm. Drain and cool on a wire rack for 10 minutes - surface moisture must evaporate. Fry in hot sunflower oil (180°C) for 4-5 minutes until deep golden. Drain on a wire rack, salt immediately.

Brava sauce: Heat olive oil in a small saucepan over medium heat. Add garlic and cook gently for 2 minutes until softened. Add both paprikas and cook for 30 seconds - this blooms the spices. Add passata, vinegar, sugar, and salt. Simmer for 10 minutes until thickened. Blend until smooth. Taste - it should be smoky, moderately spicy, and sharply flavored.

Quick aioli: Whisk egg yolks, garlic paste, and a pinch of salt. Add olive oil in a very thin, steady stream, whisking constantly - do not rush this or the emulsion will break. Once half the oil is incorporated, the emulsion is stable and you can add the oil faster. Finish with lemon juice and season.

To serve: Pile hot potatoes on a plate. Spoon brava sauce generously over. Drizzle aioli alongside if using (or serve in a separate bowl). Eat immediately.

Vegan note: The brava sauce is always vegan. For vegan aioli, blend 100ml aquafaba (chickpea liquid) with 1 minced garlic clove, then add oil in a stream as above - aquafaba aioli is remarkably close to the egg-based version.


Recipe 2: Pan con Tomate (Catalan Tomato Bread)

Time: 10 minutes | Difficulty: Beginner | Vegan

The simplest recipe in this collection and, made perfectly, one of the best. A slice of bread, garlic, a very ripe tomato, and good olive oil. That is everything.

The technique is the dish - and the technique is entirely in the tomato. A slightly under-ripe tomato rubbed on toast produces damp toast with faint tomato flavor. A properly ripe tomato - one that yields immediately to light pressure, whose flesh is deep red all the way through - rubbed firmly on toasted bread dissolves into it, leaving behind the concentrated essence of its flesh rather than a wet smear.

Ingredients (Serves 4)

  • 4 thick slices of sourdough or rustic country bread (pa de pagès if available - a dense, open-crumbed Catalan bread)
  • 2 very ripe large tomatoes, halved crossways
  • 2 cloves garlic, peeled and left whole
  • 4 tbsp extra virgin olive oil - the quality here is clearly perceptible; use your best
  • Flaky sea salt (Maldon or fleur de sel)

Method

Toast the bread slices until deeply golden - in a toaster, under a grill, or in a dry pan. While still hot, rub the cut surface of the garlic clove once across the surface of each slice - firmly enough to leave a scent, not so firmly that the bread becomes aggressively garlicky. One pass is enough.

Now take a tomato half and rub it firmly and repeatedly across the bread surface, pressing as you go. The flesh and seeds will dissolve into the bread. Continue until most of the tomato flesh has been worked into the bread. Discard the skin. Repeat with remaining slices.

Pour olive oil generously over each slice - a tablespoon per piece, at minimum. Scatter with flaky salt. Serve immediately - pan con tomate is a made-and-eaten dish; it softens and loses its texture within minutes.

Toppings: In Catalonia, pan con tomate is often the base for something else - anchovies, jamón, or a slice of fresh tomato. As a topping vehicle, it is extraordinary. As a standalone, it needs nothing.


Recipe 3: Jamón Croquetas (Ham Croquettes)

Time: 45 minutes active + 2 hours chilling | Difficulty: Intermediate

Croquetas are the most technically satisfying recipe in this collection and, once mastered, one of the most versatile. The principle: a very thick, very well-seasoned béchamel sauce, flavored with jamón (or any other filling), chilled until firm, shaped, coated, and fried until the exterior is golden and the interior is molten-hot and creamy.

The croqueta is the test of a tapas kitchen. A great croqueta has a crust that shatters at the first bite, giving way immediately to a filling that is simultaneously silky and intensely flavored. A poor croqueta has a thick, gluey béchamel that sits heavily in the mouth. The difference is in the ratio of flour to milk, the cooking time of the béchamel, and the chill.

Ingredients (Makes approximately 20 croquetas)

The béchamel:

  • 80g unsalted butter
  • 100g plain flour
  • 700ml whole milk, warm
  • 150g jamón serrano (or jamón ibérico for more flavor), very finely diced - some fat left on is good
  • ½ white onion, very finely diced
  • Pinch of freshly grated nutmeg
  • Salt and white pepper to taste

The coating:

  • 2 large eggs, beaten
  • 150g fine dried breadcrumbs or panko
  • Oil for frying (sunflower or vegetable, 175-180°C)

Method

Make the béchamel: Melt butter in a heavy-based saucepan over medium heat. Add onion and cook for 5 minutes until completely soft - no color. Add the diced jamón and cook for 2 minutes. Add flour and stir vigorously for 2 minutes - the flour must cook out completely; raw flour makes the béchamel taste stodgy. Begin adding warm milk, one ladleful at a time, stirring constantly between each addition. The mixture will be very thick at first; it loosens as more milk is added.

Continue cooking and stirring over medium heat for 8-10 minutes after all the milk has been added. The béchamel should be thick enough that it pulls cleanly away from the sides of the pan and a spoon dragged through it leaves a clear line that holds for 2–3 seconds. Season aggressively with salt, white pepper, and nutmeg - the filling cools and chills between now and eating; it needs to taste more seasoned than you'd expect.

Chill: Pour the béchamel into a shallow container or baking dish. Press cling film directly onto the surface to prevent a skin forming. Refrigerate for a minimum of 2 hours - overnight is better. The béchamel should be firm enough to scoop into shapes.

Shape: Using two spoons or a small ice cream scoop, form the béchamel into cylinders approximately 6cm long and 3cm wide. Place on a parchment-lined tray. If the mixture softens too much from the warmth of your hands, return the tray to the fridge for 15 minutes.

Coat: Roll each croqueta in beaten egg, then in breadcrumbs. Press the breadcrumbs on firmly. Refrigerate for 20 minutes before frying.

Fry: In hot oil at 175-180°C, fry in batches of 4-5 for 2-3 minutes until deep golden. They cook quickly - watch them carefully. Drain on a wire rack, salt immediately, and serve hot.

Vegan option: Replace butter with vegan butter (Miyoko's or Flora) and milk with oat milk. Omit jamón; substitute with very finely chopped sun-dried tomatoes and capers for an umami-forward vegan filling. The béchamel works identically.


Recipe 4: Pimientos de Padrón (Blistered Padrón Peppers)

Time: 12 minutes | Difficulty: Beginner | Vegan & Gluten-Free

Pimientos de Padrón are perhaps the most minimal recipe in this entire collection - and one of the most pleasurable. Small green peppers from the Padrón region of Galicia, blistered in a screaming hot pan with olive oil until charred and slightly collapsed, scattered with flaky salt, and eaten hot by the stem.

The ritual unpredictability is the point: approximately one in ten is unexpectedly hot. The Galician saying captures it perfectly: "Os pementos de Padrón, uns pican e outros non" - "Padrón peppers, some are hot and some are not." You don't know which until you bite.

Ingredients (Serves 4 as tapas)

  • 300g pimientos de Padrón - available at large supermarkets, Spanish delis, and online during summer
  • 3 tbsp extra virgin olive oil - more than you think; the peppers need to fry in the oil, not just be coated
  • Flaky sea salt - generous

Method

Heat a large, heavy frying pan or cast iron skillet over maximum heat until it begins to smoke. Add the olive oil - it should spit immediately. Add the peppers in a single layer. Do not stir for 2 minutes - let them sit in contact with the hot surface to develop char on the underside.

Toss the peppers and continue cooking for 3-4 minutes, tossing occasionally, until they are blistered and charred in patches all over and the skin has collapsed slightly. The sound should be vigorous throughout - if the pan is quiet, the heat is too low.

Transfer immediately to a plate. Scatter generously with flaky sea salt. Serve immediately - blistered peppers are best in the first 5 minutes, before they cool and soften.

Where to find them: Large supermarkets occasionally carry them, primarily in summer. Spanish delis and online retailers (Brindisa in the UK) carry them year-round. In their absence, shishito peppers (Japanese variety, nearly identical) are a perfect substitute with the same roulette heat dynamic.


Recipe 5: Churros with Thick Chocolate Sauce

Time: 30 minutes | Difficulty: Intermediate

Churros are Spain's most internationally recognised street food and one of the most frequently made badly outside of Spain. The problem is almost always the dough: too thin (the churro has no structure and absorbs oil), too sweet (the sugar belongs in the dipping chocolate, not the churro itself), or made with yeast (churros are a choux-adjacent dough, not a yeasted bread).

A proper churro is made from a simple paste of water, flour, salt, and a small amount of fat - piped through a star-tipped nozzle and fried until golden. It is not sweet. The sweetness comes from the sugar you dust over it after frying, and from the thick, barely-sweet chocolate sauce it is dipped into. That sauce - dense enough to coat a spoon, bitter enough to balance the fried dough and the sugar - is the element that elevates churros from a fairground snack to a genuinely sophisticated thing.

Ingredients (Makes approximately 20 churros)

The choux dough:

  • 250ml water
  • 25g unsalted butter
  • 1 tsp fine sea salt
  • 150g plain flour, sifted
  • 1 large egg (optional - adds richness but is not traditional in all Spanish recipes)

For frying and finishing:

  • Sunflower oil for frying (175-180°C)
  • 3 tbsp caster sugar mixed with 1 tsp ground cinnamon - for dusting

The thick chocolate sauce:

  • 200g dark chocolate (70% cocoa solids), finely chopped
  • 200ml whole milk
  • 100ml double cream
  • 1 tbsp cornflour dissolved in 2 tbsp cold milk - this is the thickener that gives Spanish chocolate its characteristic dense, almost pudding-like consistency
  • 1 tbsp sugar - optional, adjust to chocolate bitterness
  • Pinch of fine sea salt

Method

Make the chocolate sauce first: Combine milk, cream, and sugar in a saucepan. Bring to a gentle simmer. Add the cornflour mixture, whisking continuously - the sauce will thicken almost immediately. Reduce heat to very low, add the chopped chocolate, and stir until completely melted and smooth. Keep warm over the lowest possible heat, or in a bowl over barely simmering water. The sauce should be thick enough to coat a spoon heavily and fall in a ribbon rather than a drizzle.

Make the churro dough: Combine water, butter, and salt in a saucepan. Bring to a rolling boil. Remove from heat immediately, add all the flour at once, and beat vigorously with a wooden spoon until the dough comes together into a smooth ball that pulls away from the sides. Allow to cool for 5 minutes (so the egg doesn't scramble when added), then beat in the egg if using.

Transfer the dough to a piping bag fitted with a large star nozzle (1-1.5cm). The star shape is not decorative - it creates ridges that increase surface area and produce the characteristic crispy exterior.

Fry: Heat oil to 175-180°C. Pipe dough directly into the hot oil in lengths of approximately 12-15cm, cutting with scissors or a sharp knife. Fry for 3-4 minutes, turning once, until deep golden on all sides. Drain on a wire rack.

Finish: Dust immediately with cinnamon sugar. Serve with the warm chocolate sauce for dipping.

Vegan option: Replace butter in the dough with vegetable oil (2 tbsp). Omit the egg. For the chocolate sauce, use oat milk and coconut cream in place of dairy.


The Spanish Spread: Serving All Five Together

These five dishes, made together, produce one of the most convivial and impressive spreads in this collection - and the total active cooking time is under 90 minutes if the croqueta béchamel is made ahead.

The timing sequence:

  • Day before: Make croqueta béchamel, refrigerate overnight
  • 1 hour before: Roast potatoes, make brava sauce, make aioli
  • 30 minutes before: Shape and coat croquetas; make churro chocolate sauce
  • 20 minutes before: Start churro dough
  • At the table: Make pan con tomate to order (2 minutes per round)
  • During the meal: Fry croquetas and churros in batches; blister pimientos de Padrón at the last moment

The drinks: Cold dry fino sherry with the savoury courses. Hot chocolate alongside the churros (an alternative to churros-and-chocolate-sauce is churros dipped in the cup of thick hot chocolate - the traditional Spanish desayuno). A cold lager for everything in between.


Pro Tips

  • The brava sauce is better the next day. Like any tomato sauce, the flavors develop overnight. Make it ahead, refrigerate, and reheat gently before serving.
  • Croqueta béchamel must be seasoned aggressively. When the filling is cold and fried, the seasoning level that tasted right in the hot pan will taste muted. Season harder than feels natural.
  • Pimientos de Padrón must be completely dry before frying. Any surface moisture causes the oil to spit violently. Pat dry with paper towels if they've been washed.
  • Churro dough must be hot when piped. Cold dough doesn't pipe cleanly and the texture of the fried churro is wrong. Work quickly after making the dough and fry immediately.
  • Pan con tomate is not negotiable about the tomato ripeness. A firm, pale-fleshed tomato will not work. Buy the ripest tomatoes available - heirloom varieties, vine tomatoes left at room temperature to fully ripen, or San Marzano for their depth of flavor.

Common Mistake: Under-Seasoning the Croqueta Béchamel Croquetas go through three temperature changes between the seasoning stage and the eating stage: hot (when made), cold (after chilling), and hot again (after frying). Each temperature change dulls the perception of seasoning. Season the béchamel when hot until it tastes almost overseasoned - aggressively salty, clearly nutmeg-forward. After chilling and frying, that level will be exactly right.


FAQ

Q: Where can I find pimientos de Padrón outside Spain?

Large supermarkets carry them seasonally (June-September in the UK). Spanish food retailers (Brindisa in the UK, La Tienda in the US) carry them year-round, fresh or preserved. Japanese shishito peppers, available at Asian grocery stores, are nearly identical in size, flavor, and the hot/mild roulette dynamic - an excellent year-round substitute.

Q: Can croquetas be frozen?

Yes - freeze after coating, before frying. Arrange on a tray, freeze until solid, then transfer to a zip-lock bag. Fry from frozen at 170°C for 4-5 minutes (slightly lower temp and longer time than fresh to ensure the centre heats through). Frozen croquetas are excellent - arguably better than chilled ones because the exterior sets faster in the oil, producing a crispier crust.

Q: Is there a gluten-free version of churros?

Yes - replace plain flour with a 1:1 gluten-free flour blend containing xanthan gum. The texture is slightly denser but still excellent. The chocolate sauce and cinnamon sugar are already gluten-free.

Q: My aioli broke (became liquid and oily). How do I fix it?

Start a new base: one fresh egg yolk in a clean bowl. Very slowly whisk the broken aioli into this new yolk - the new yolk re-emulsifies the broken sauce. Add it gradually, just as you added the oil originally. This works reliably.

Q: Can I make patatas bravas completely ahead for a party?

Roast the potatoes up to 2 hours ahead and keep warm on a wire rack in a 100°C oven - they stay reasonably crispy. The brava sauce keeps refrigerated for 1 week. Reheat the sauce and pour over just before serving. Do not assemble ahead - the sauce softens the potatoes rapidly.


🔗 Continue Exploring