Bicol Express

Pork belly simmered in coconut milk with shrimp paste and a lot of chilli until the sauce reduces and turns oily. Bicol's hot pork, for rice.

Recipe by I Want Some Food · Reviewed by the editorial kitchen.

Start cooking
Measurement system
Prep
15 min
Cook
1 hr 15 min
Rest
None
Total
1 hr 30 min
Difficulty
Easy
Spice
Hot
Cost
Weeknight budget$8–16 USD · indicative, not a store price

About

Bicol Express is pork cooked in coconut milk with shrimp paste and a lot of chilli, until the milk reduces, splits and fries the meat in its own oil. Pork belly is rendered first, then garlic, onion, ginger and bagoong alamang, the pink fermented shrimp paste, go in and fry until the kitchen smells of it. Coconut milk follows, and the pot simmers until the pork is tender and the sauce is thick and glistening. Long green chillies and bird's-eye chillies go in near the end, with coconut cream to finish. Serve it with plenty of plain rice.

What you'll need

10 ingredients. Tap each one once it's out on the bench.

0 of 10 ready
4 servings

Ingredients

Scaling multiplies the written quantities. Baking still prefers a scale.

Steps

  1. Step 1

    Put the pork in a wide heavy pot with the oil over medium heat and cook, stirring now and then, for 10 to 12 minutes until the fat runs and the edges start to brown.

    12 min

  2. Step 2

    Add the garlic, onion and ginger and cook for 3 minutes. Stir in the shrimp paste and fry for 2 minutes; it will smell strong, which is right.

    5 min

  3. Step 3

    Pour in the coconut milk and water, bring to a simmer and cook uncovered on low heat for 40 to 50 minutes, stirring now and then, until the pork is tender and the sauce has reduced and begun to split into oil.

    50 min

    Tip: The split is the point. Filipino cooks wait for the coconut milk to give up its oil, and that is when the flavour arrives.

  4. Step 4

    Add the chillies and the coconut cream and simmer 8 to 10 minutes more, until the sauce is thick and clings to the pork. Taste, and add a little more shrimp paste if it needs salt.

    10 min

  5. Step 5

    Rest it for 5 minutes off the heat and serve with plenty of plain rice.

    5 min

Nutrition

Per serving · estimate

Calories
874 kcal
Protein
60.9 g
Carbs
13.9 g
Fat
64.7 g
Saturated fat
39.9 g
Fibre
4.1 g
Sugar
7.2 g
Sodium
699 mg

Calculated from canonical ingredient data (USDA FoodData Central averages and equivalent published tables). Estimates only.

Allergens

Informational only. Not a medical guarantee. Cross-contamination happens in real kitchens.

  • Shellfish
  • Dairy-free
  • Gluten-free

Adapt this recipe

The original recipe stays as it is. Personal versions are labelled. Serving changes are simple maths.

Adaptations · 0 / 15 used. Resets 12 November.

Substitutions

  • Pork → Peeled prawns

    Reduce the coconut milk alone for 25 minutes first, then add the prawns with the chillies and cook only 4 to 5 minutes.

Tips

  • Seed the long chillies for flavour with less heat. The bird's-eye chillies set the real heat, so add them a few at a time.
  • Shoulder alone is leaner but needs about 15 minutes longer to soften.
  • It is better the next day, once the chilli has settled into the oil.

History & culture

Bicol, at the southeastern end of Luzon, is coconut and chilli country, and its cooks put both in almost everything. Bicol Express is eaten across the Philippines as a rice dish for lunch or dinner, and Manila restaurants sell it as the hot one on the menu. In Bicol itself, people will tell you it is not that hot.

The story most often told is that a Bicolana cook in Manila's Malate district named it in the late 1960s after the train that ran between Manila and the Bicol region. The dish itself draws on sinilihan, the older Bicolano way of cooking meat and fish in coconut milk with chilli.

Traditional — Bagoong alamang comes raw, pink and very salty, or sautéed, darker and sweeter with garlic. This uses the sautéed kind from a jar; raw paste needs frying longer. Some cooks add squash, or use shrimp instead of pork.

Provenance: Editorial adaptation.

Questions about this recipe

Answers taken from this dish's times, amounts, swaps and tips.

How long does Bicol Express take?

1 hr 30 min all in — 15 min prep, 1 hr 15 min cook. Cook and rest follow the method. Leftover storage and optional extra waits are not included.

How many does it serve?

The recipe is written for 4 people. Scale the ingredient list on the page if you are cooking for a different number.

How hard is it?

Easy.

How spicy is it?

Hot.

What allergens should I watch?

This recipe is labelled for Shellfish. Labels are informational — check the packets in your kitchen. This is not medical advice.

Does it fit a diet?

The published recipe is labelled Dairy-free, Gluten-free.

7 more questions
What does it cost to cook?

Weeknight budget — about $8–16 USD, as a grocery budget for this recipe, not a restaurant price.

What equipment do I need?

Dutch oven, Chef's knife.

How much salt do I put in?

This recipe does not list a salt amount. We will not invent one.

What can I use instead?

Pork → Peeled prawns. Reduce the coconut milk alone for 25 minutes first, then add the prawns with the chillies and cook only 4 to 5 minutes.

Any tips from this recipe?

Seed the long chillies for flavour with less heat. The bird's-eye chillies set the real heat, so add them a few at a time. Shoulder alone is leaner but needs about 15 minutes longer to soften. It is better the next day, once the chilli has settled into the oil.

Can I prepare this ahead?

It is better the next day, once the chilli has settled into the oil.

Can I use an air fryer?

This method is not written for an air fryer. The core technique on the page still applies.

Similar dishes

In this kitchen

Share card

Explore Philippines →

Before you start cooking

Your pantry, saved recipes and meal plans are stored on this device so the site works — that part can't be switched off. We count page visits and measure page speed. There are no ads. Separately, we can count anonymous feature usage. That part is your call, and it stays off unless you say yes.

What gets stored