The first bite of goya (bitter melon) champuru is exactly what the name promises. Bitter. Then the sweet pork fat, the egg, and the browned tofu catch up, and by the third chew that bitterness has become the thing you keep chasing.
That arc is the whole dish. My recipe does not fight it, it just softens the edge with salt, sugar, and a 10 minute rest, so the part worth tasting survives.

Goya Champuru
Recipe Snapshot
- What is it? Okinawa’s most famous home cooking, a fast stir-fry of goya (bitter melon), pork belly, browned tofu, and egg.
- Flavor profile: Built on contrast. Green bitterness sits against the sweetness of rendered pork fat, soy sauce keeps the edges sharp, and the soft egg and katsuobushi round the whole plate into something you could eat all summer.
- Why you will love this recipe: One of the most minimal recipes on my entire site, the seasoning more or less stops at soy sauce, and the only real trick is a salt and sugar rub that quietly tames the goya before the pan gets hot.
- Must-haves: A goya, a block of firm tofu, thinly sliced pork belly with plenty of visible fat, and katsuobushi (bonito flakes) for the finish.
- Skill level: Easy. About 30 minutes start to finish, and 10 of those are hands-off while the goya rests in its rub.
Summarize & Save this content on:

What Is Goya Champuru?
Goya champuru (ゴーヤチャンプルー) is Okinawa’s best known home stir-fry, a hot pan of bitter melon (goya), pork, tofu, and egg. But the star of the name is not the goya. Okinawan cooking reserves the word champuru for stir-fries that contain tofu. Take the tofu out and the dish becomes tashiya, a different thing entirely.
The mixing starts with the name. Champuru is often said to mean jumbled, a reading people trace to the Malay and Indonesian campur, though in Okinawa the word really works as a dish name in its own right. The recipe is just as open. Each version is named for its lead vegetable, bean sprouts make māminā champuru. Pork and postwar canned meat are late arrivals. Before WWII this was a tofu-and-vegetables dish.
Today the dish belongs to summer. The day goya starts lining supermarket shelves is the day summer begins, and the craving for goya champuru arrives with it. In my version, that craving meets a small obsession. The tofu gets drained hard and fried on its own until browned, and that decision is where the texture comes from.
Goya Champuru Ingredients

- Goya: Bitter melon decides its own bitterness before you ever touch a knife, so the real work happens at the shelf. Look for one that feels firm, heavy, and glossy, then check the bumps. Large, coarse bumps mean a milder fruit, the mark of the abashi (Okinawa’s gentler variety), while small, dense bumps on a deep green skin mean a sharper bite. A fresher goya also runs gentler, so if this is your first, choose a pale, large-bumped one and let the recipe handle the rest.
- Pork belly: The sweet fat is the whole point of this ingredient. As the slices sear, the fat renders out and coats the goya, carrying a sweetness that sugar absolutely cannot build alone, and that chicken or beef has never once given me.
- Katsuobushi: The flakes go on at the very end, and they are doing real work up there, not decoration. This is the eating side of katsuobushi, the same role it plays scattered over hiyayakko or okonomiyaki, rather than being simmered into dashi. Do not skip it. With a seasoning list this short, the savory depth of the flakes carries real weight, and the dish tastes noticeably flat without them.
Substitution Ideas
- Thinly sliced pork belly → Canned luncheon meat (SPAM): In Okinawa this is not a compromise, canned pork has been on champuru duty since the postwar years, so nobody there will blink at your bowl. In my recipe it is the riskier road though. The seasoning is almost entirely soy sauce, and the sweet fat that renders off pork belly is what carries the goya, so make this trade knowing the flavor structure shifts with it.
- Firm tofu → Freeze-thaw firm tofu: Freeze the block solid, thaw it, and squeeze, the freezing restructures the tofu so it drains deeply and turns dense and chewy, surprisingly close to Okinawan island tofu (shima-dofu). Worth trying if you want your cubes closer to the island original. Atsuage (thick fried tofu) is another sturdy route, already fried and firm enough to skip the draining entirely. Whatever you do, do not reach for silken as a stand-in, it holds too much water and collapses in the pan.
- Goya → A different vegetable makes a different dish: Cabbage or bean sprouts will give you a perfectly respectable champuru, it just will not be goya champuru anymore. Nothing else brings that bitter snap, so if bitterness is the worry, buy a milder large-bumped goya instead of replacing it.
Have trouble finding Japanese ingredients? Check out my ultimate guide to Japanese ingredient substitutes!
How to Make My Goya Champuru
If you prefer to watch the process in action, check out my YouTube video of this goya champuru recipe!
To develop this recipe, I used a 26cm non-stick frying pan.

i. I must admit goya (bitter melon) is one of the most bitter vegetables I have had in my whole life, but the bitterness is part of the beauty of this unique vegetable. Prepping it properly is what softens that edge while keeping the part worth tasting.
ii. Wash the goya and cut off the top, then cut it in half lengthways and scoop out the seeds with a spoon. The inside is not quite as bitter as the outer green part, so don’t worry about getting every last bit here.

ii. Turn the halves cut side down so they stop rolling around, and cut slices about 5mm thick. This thickness is a real decision. If it’s cut too thin, the texture will be lost, and if cut too thick, the bitter taste becomes stronger and more obvious, so hold that line.

The pith gets blamed for the bitterness, but the bitter compounds sit in the green flesh, strongest toward the skin, where no amount of scraping will reach them. The spoon work is really about texture, a quick sweep for the seeds and the loose spongy center keeps the slices from turning watery in the pan.
i. Drop the slices into a bowl, add the salt and sugar, and massage until every piece is evenly coated.

ii. Rest for 10 minutes. This rub is the step where this recipe clicked into place for me, so give it the full rest and let it work.
The rub works 2 ways at once. Salt pulls water out of the slices, and because the bitter compounds dissolve in water, a good share of the bitterness rides out with it, the same way salted cucumber slices go limp and mild.
The sugar handles what stays behind. Sweetness dampens how much of the remaining bitterness your tongue registers, so the goya that reaches the pan tastes gentler than the goya that went into the bowl. 2 pantry basics, 2 separate jobs.
i. Wrap the block of firm tofu in kitchen paper and set it on a microwavable plate. Microwave it uncovered for 1 1/2 minutes at 600W. Pressing tofu works too, but it takes time I am not always willing to give it, and the microwave does the same job while the goya sits in its rub.

ii. Leave it to cool for a few minutes, then remove the paper and pat it dry.
i. When the 10 minutes are up, fill the bowl of goya with fresh cold water, then pour everything through a colander to drain. Shake it thoroughly and set the goya by the stove.

ii. Once the tofu is cool enough to touch, cut it into bitesize cubes and start heating a frying pan on medium. Both stations ready. The pan takes over from here.

i. Once the pan is hot, add the cooking oil, then the tofu cubes. Brown them on each side without fussing, until the outsides turn golden and slightly crispy. Frying the tofu alone lets it crisp and color without interference from the fats and liquids of the other ingredients.

ii. Remove it from the pan and set it aside so it stays beautiful and doesn’t break or become overcooked!
The browning firms the surface of each cube into a thin skin, so when the tofu comes back to the pan later, it survives all the stirring instead of crumbling into the seasoning.
It also keeps the water out of your stir-fry. Tofu that browns before the other ingredients arrive has already given up its surface moisture, and that is the difference between a champuru and a wet pan of vegetables.
i. Reuse the same pan, no washing needed. Lay in the pork belly slices and sear them on both sides. Listen for the hiss. That sound is the fat starting to render, and that fat is the closest thing this recipe has to a sauce.

ii. Add the goya and stir fry with the pork for 2-3 minutes, until every slice picks up a light gloss of the fat.

i. Add the tofu back into the pan and sprinkle with a pinch of salt and pepper.

ii. Pour the soy sauce around the edge of the pan, not over the ingredients, and mix everything thoroughly.
Soy sauce poured onto the food only seasons it. Soy sauce poured onto the hot ring of the pan sizzles on contact, and that half second of scorching turns it into aroma. The seasoning is identical either way. The fragrance is not.
i. Crack the egg into a bowl and whisk until the whites and yolks are fully combined.

ii. Pour it into the pan and leave it alone. No mixing yet. If you mix too early, the egg breaks into small pieces and gets lost among the other ingredients, so let it cook until it is about half done.

iii. Add the final soy sauce, mix quickly to break up the egg, and take the pan off the heat. The eggs will continue to cook in the residual heat from the other ingredients, and taking it off the stove early is what prevents overcooked, rubbery eggs!
The edges are set, the middle still shines wet, and a tilt of the pan makes the center wobble without running. That is your moment. The egg looks underdone in the pan precisely so it can arrive done on the plate.
i. Plate up and sprinkle the katsuobushi over the top while everything is still hot, so the flakes dance in the rising steam. Enjoy!


Essential Tips & Tricks
- Give the salt and sugar rub its full 10 minutes. This quiet rest is where most of the goya’s bitterness gets tamed, and the rub is doing its best work while you stand there doing nothing at all. Cut it short and no seasoning later can claw the balance back. What I will not do is chase the bitterness down to nothing, because the gentle bite that survives the rub is the opening act of this dish, the part the pork fat and soft egg are waiting to answer.
- Dry the tofu like you mean it. Firm tofu still holds a surprising amount of water, and every drop it smuggles into the pan pushes your stir-fry toward a sad, soupy braise. Wet tofu also refuses to brown, and unbrowned cubes have no armor for the final stir. Handle the water before anything touches the pan, while the goya is sitting in its rub, and the back half of this recipe becomes dramatically easier.
- Sear the pork belly properly, on both sides, without rushing. The richness that carries this dish renders out of the pork, and it does not render out of pale, hurried slices. Skip the real sear and the goya has nothing to catch, so the whole plate tastes thinner than the ingredient list says it should.
With these simple tips in mind, you’re set for success every time you make goya champuru.
Storage & Meal Prep
Fridge: This dish is at its best the moment the egg finishes in the residual heat, so my first advice is to make it and eat it. If leftovers happen, cool them fast, store them airtight, and give them 2 days in the fridge at the very most.
Freezer: Not recommended for the finished dish.
Meal prep: There is no real make-ahead version of this stir-fry, it comes together in about 30 minutes and the quality lives in the freshness. Goya keeps well in the fridge, even after cutting. Just scoop out the seeds, scoop out the spongy center, and place kitchen paper directly on cut areas. Like this, it will last 4-7 days in the fridge.
Reheating: Back into a frying pan, hot and quick, until it is piping hot all the way through.
What to Serve With This Recipe
Goya Champuru Troubleshooting
A first-bite edge is part of this dish, but a bowl you cannot finish usually traces back to the prep. Either the salt and sugar rub was rushed or skipped, the slices were cut thicker than 5mm, or the goya itself was a small-bumped, deep green fruit, the sharpest kind on the shelf. For the batch in front of you, lean on the built-in softeners. Extra katsuobushi on top and a bowl of rice alongside go a long way. Next time, give the rub its full 10 minutes and pick a paler goya with larger bumps.
Start the rescue at the burner. Push the heat up and keep the pan moving until the liquid flashes off, the dish can absolutely still land. Taste before you reseason, because that water carried some of the soy sauce away with it. The leak itself is almost always under-drained tofu, helped along by a flame too gentle to evaporate what it releases, so next time give the drying step the respect it earns.
The 2 most common culprits are a skipped katsuobushi topping and soy sauce that went in timidly, poured straight onto the food instead of against the hot rim where it toasts into aroma. Add a small extra splash of soy sauce around the rim of the hot pan, then a fresh shower of katsuobushi on top, those flakes carry a real share of this dish’s savor.

More Japanese Stir-Fry Recipes
- Buta Yasai Itame (Pork and Vegetable Stir-Fry)
- Buta Kimuchi (Pork Kimchi Stir-Fry)
- Japanese Ebi Chili
- Mabo Tofu
Hungry for more? Dig into my thinly sliced pork recipe collection to see everything those sweet, fat-streaked slices can do.
Did You Try This Recipe?
I would love to hear your thoughts!
💬 Leave a review and ⭐️ rating in the comments below. 📷 I also love to see your photos – submit them here!

Goya Champuru (Okinawan Bitter Melon Stir Fry)
Ingredients
- 1 Okinawan bitter melon (goya) large coarse bumps mean a milder melon, small dense bumps on a deep green skin bite sharper
- ½ tsp salt
- ¼ tsp sugar
- 150 g thinly sliced pork belly pick slices with plenty of visible white fat
- 1 pinch salt and pepper
- 200 g firm tofu
- 1 egg whisked
- 1 tsp Japanese soy sauce (koikuchi shoyu) for cooking
- 1 tsp Japanese soy sauce (koikuchi shoyu) for finishing
- bonito flakes (katsuobushi) do not skip
- 1 tbsp cooking oil any neutral oil with high smoke point
My recommended brands of ingredients and seasonings can be found in my Japanese pantry guide.
Can’t find certain Japanese ingredients? See my substitution guide here.
Instructions
- First, cut 1 Okinawan bitter melon (goya) in half lengthways and scoop out the seeds.

- Cut it into 5mm slices and place in a bowl. Add ½ tsp salt and ¼ tsp sugar and massage until evenly covered. Rest for 10 minutes.

- Wrap 200 g firm tofu with kitchen paper and place it on a microwavable plate. Microwave uncovered for 1 ½ minutes at 600W to evaporate excess liquid. Leave to cool for a few minutes.

- After 10 minutes of resting, fill the bowl of goya with fresh water, swish and pour it through a colander to drain. Shake thoroughly and set by the stove for later.

- Once the tofu is cool enough to touch, cut it into bitesize cubes and start heating a frying pan on medium.

- Once the pan is hot, add 1 tbsp cooking oil. Place the tofu down and brown it on each side. When it's brown and slightly crispy all over, remove it from the pan and transfer it to a heatproof plate.

- In the same pan, sear 150 g thinly sliced pork belly on both sides until the fat begins to crisp up.

- Add the goya to the pan and stir fry for 2-3 minutes.

- Add the tofu back into the pan and sprinkle with 1 pinch salt and pepper. Pour 1 tsp Japanese soy sauce (koikuchi shoyu) around the edge of the pan, let it bubble for 10 seconds and then mix it through the ingredients.

- Crack 1 egg into a bowl and whisk until the whites and yolks are combined. Pour it into the pan and without mixing, cook until half done.

- Turn off the heat, then add another 1 tsp Japanese soy sauce (koikuchi shoyu) and break up the egg with a spatula, mixing gently until evenly distributed.

- Plate up and generous sprinkle bonito flakes (katsuobushi) over the top. Enjoy!








Leave a rating and a comment