
Bicol Express is a beloved Filipino comfort dish that brings together tender pork, creamy coconut milk, and fiery chilies in one absolutely spectacular meal. This iconic Bicolano specialty hails from the Bicol Region in the Philippines, where coconut is abundant and spice levels are taken seriously. The name itself is a playful reference to the region’s famous express train, suggesting how quickly this dish comes together and how it’ll speed up your taste buds!
What makes Bicol Express so irresistible is the perfect balance of heat, creaminess, and savory pork flavor. The dish combines sautéed pork with coconut milk, fresh chilies, and garlic to create a sauce that’s simultaneously rich, spicy, and utterly addictive. It’s traditionally served over steamed white rice, where the creamy sauce clings beautifully to each grain.
This recipe is surprisingly simple to execute at home, requiring just a handful of quality ingredients and about 45 minutes from start to finish. Unlike some elaborate Filipino dishes that demand hours of preparation, Bicol Express comes together quickly while delivering restaurant-quality results. The key is using fresh ingredients, particularly the chilies and coconut milk, and not rushing the initial browning of the pork, which develops deep, savory flavors.
I’ve adapted this traditional recipe to ensure it works perfectly in any home kitchen while maintaining its authentic character. The beauty of Bicol Express lies in its versatility—you can adjust the heat level to your preference, experiment with different cuts of pork, or even substitute with other proteins. Whether you’re cooking for your Filipino family or introducing friends to this incredible dish, this recipe delivers consistent, delicious results every single time.
Serve Bicol Express family-style with plenty of steamed jasmine rice, fresh lime wedges, and perhaps a simple pickled red onions recipe for brightness. For a more elaborate meal, pair it with a fresh chickpea salad to balance the richness. If you’re looking to explore other creamy Filipino-inspired dishes, check out our guide to creating heavy cream pasta or this easy chicken alfredo recipe for inspiration on working with coconut-based and cream sauces. For more sophisticated sauce techniques, explore our heavy cream alfredo sauce recipe to understand emulsification principles that apply to Bicol Express.
If you’re new to Filipino cooking, Bicol Express is an excellent entry point. It teaches fundamental techniques like proper browning, flavor layering, and sauce development. More importantly, it shows how simple ingredients transform into something truly magnificent through proper technique and respect for traditional methods.
Ingredients
- 2 lbs pork shoulder or belly, cut into 1-inch cubes
- 3 tablespoons vegetable oil
- 8 cloves garlic, minced
- 1 large onion, diced
- 4-5 fresh long red chilies (siling haba), sliced into rings
- 3-4 fresh Thai chilies (siling labuyo), whole or sliced
- 2 cans (13.5 oz each) unsweetened coconut milk
- 1 tablespoon fish sauce (patis)
- 1 teaspoon salt, plus more to taste
- ½ teaspoon black pepper
- 2 bay leaves
- Optional: 2-3 tablespoons shrimp paste (bagoong) for extra depth

Instructions
- Pat the pork cubes dry with paper towels and season generously with salt and black pepper on all sides. This ensures proper browning and helps develop those deep, savory flavors that make Bicol Express so special.
- Heat the vegetable oil in a large heavy-bottomed pot or Dutch oven over medium-high heat until it shimmers and just begins to smoke slightly.
- Working in batches to avoid overcrowding the pot, brown the pork cubes on all sides until deeply golden-brown, approximately 3-4 minutes per batch. This should take about 10-12 minutes total. Transfer browned pork to a clean plate and set aside.
- Reduce heat to medium and add the minced garlic and diced onion to the same pot, stirring frequently and scraping up any browned bits stuck to the bottom (these are pure flavor). Cook for 2-3 minutes until fragrant and the onion begins to soften.
- Add the sliced long red chilies to the pot and cook for another 2 minutes, stirring constantly to release their oils and distribute the heat throughout the pot.
- Return the browned pork to the pot along with any accumulated juices, stirring well to combine with the garlic and chili mixture.
- Pour in both cans of coconut milk, stirring gently to combine everything evenly. Make sure the pork is mostly submerged in the coconut milk mixture.
- Add the fish sauce, bay leaves, and the whole Thai chilies. Stir well and bring the mixture to a gentle simmer over medium heat.
- Once simmering, reduce heat to medium-low and simmer uncovered for 30-35 minutes, stirring occasionally. The pork should become very tender and the sauce should reduce slightly and become more concentrated.
- Taste the Bicol Express and adjust seasoning with additional salt, fish sauce, or even a tablespoon or two of shrimp paste if you want deeper, more complex flavors. Remove bay leaves before serving.
- The dish is ready when the pork is fork-tender and the coconut sauce has thickened slightly to coat the pork nicely. Serve immediately over steamed jasmine rice with extra sliced chilies on the side for those who want additional heat.

Pro Tips
- **Pork Selection**: Pork shoulder and pork belly are traditional cuts for this dish because they have enough fat content to stay tender and flavorful during simmering. Avoid lean cuts like pork loin, which can become tough and dry. If using pork belly, trim any excess skin before cutting into cubes.
- **Chili Heat Control**: The beauty of Bicol Express is that you can customize the heat level. For milder versions, remove the seeds from the long red chilies before slicing, or reduce the number of Thai chilies. For extra heat, leave seeds intact or add additional chilies. The whole Thai chilies stay in the dish for mild heat; remove them if your guests prefer less spice.
- **Coconut Milk Quality**: Use full-fat, unsweetened coconut milk from reputable Asian brands like Aroy-D, Thai Kitchen, or Mae Ploy. Avoid lite versions or those with added guar gum, as they won’t provide the same rich flavor or proper consistency. Shake the cans well before opening.
- **Fish Sauce Importance**: Don’t skip the fish sauce! It’s essential for authentic flavor, adding umami depth that makes the dish sing. If you absolutely must avoid it, use soy sauce as a substitute, though the flavor profile will be slightly different.
- **Browning the Meat**: This step is crucial and shouldn’t be rushed. Proper browning develops the Maillard reaction, creating complex flavors that elevate the entire dish. Don’t move the meat around too much while it cooks; let it sit and develop that golden crust.
- **Make-Ahead Instructions**: Bicol Express actually tastes better the next day as flavors meld together. Make it up to 2 days ahead and refrigerate in an airtight container. Reheat gently over medium-low heat, adding a splash of water or coconut milk if the sauce has become too thick.
- **Storage and Freezing**: Store leftovers in an airtight container in the refrigerator for up to 4 days. Bicol Express freezes beautifully for up to 3 months; thaw overnight in the refrigerator and reheat gently on the stovetop.
- **Serving Suggestions**: Traditionally served with steamed white jasmine rice, but also pairs beautifully with garlic rice or even on its own as a stew. Serve with fresh lime wedges, sliced red onions, and additional fresh chilies on the side.
- **Spice Preference Variations**: For mild versions, use only the long red chilies without any Thai chilies. For medium heat, use 2-3 Thai chilies. For authentic fiery Bicolano style, use 5-6 Thai chilies and don’t remove the seeds from any chilies.
- **Ingredient Substitutions**: If long red chilies aren’t available, use red bell peppers plus additional Thai chilies to maintain heat while adding the mild pepper flavor. In a pinch, you can use dried chilies that have been rehydrated, though fresh is always superior.
