Malcolm vault

Every Singapore hawker dish, ranked by protein per calorie

Singapore's hawker food is the cheapest eating on earth and nobody knows what is in it. So I pulled the Health Promotion Board's own measurements for every hawker dish I could find and ranked them on one number: calories per gram of protein. Lower is better. 105 dishes made the cut across Chinese, zi char, Malay, Indian and Western stalls.

ELITE (under 10) 11 STRONG (10-15) 20 MID (15-20) 23 WEAK (20-27) 28 AVOID (over 27) 23

The result is not the one people expect. The meat is never the problem. The rice and the noodles are.

The top 12

#kcal/gCalProteinCuisineDish
14.938417.05gChineseSliced fish soup (no milk)
26.6820630.84gWesternFried pork chop
36.9211416.48gZi charBlack pepper crab
47.2016222.5gChinesePig organ soup
57.2929540.47gWesternGrilled spiced chicken
68.8333638.05gWesternChicken chop with sauce
79.0437141.06gWesternBeef steak
89.0717018.75gChineseSliced fish soup (with milk)
99.2418019.49gZi charFish head steamboat
109.3511512.3gZi charSambal sotong
119.3611011.75gZi charClaypot chicken
1210.1542441.78gZi charSambal stingray

One caveat on first place. HPB publishes 84 kcal for sliced fish soup with no milk, but its own fat, carb and protein figures add up to 154. Something is wrong with that record, so do not trust its top spot. Excluding it, the best verified dish is Fried pork chop at 6.68.

Worst offenders

kcal/gCalProteinCuisineDish
61.543766.11gChineseKaya and butter toast
46.5858612.58gChineseFried carrot cake (black)
41.3646211.17gChineseFried carrot cake (white)
40.663187.82gWesternGarlic bread
39.9048612.18gZi charCrayfish hor fun
39.7564816.3gChineseBeef hor fun
39.3699025.15gIndianPlain prata (2 pc, with curry)
37.8597425.73gChineseChar kway teow
37.6160416.06gChineseChinese rojak (mixed)
36.6884723.09gZi charPineapple fried rice

By cuisine

CuisineMedianBestDishes
Western13.916.6813
Zi char18.066.9230
Malay21.4610.7412
Chinese21.674.9346
Indian35.9921.044

The full ranking

All 105 dishes, best to worst
#kcal/gCalProteinCuisineDish
14.938417.05gChineseSliced fish soup (no milk)
26.6820630.84gWesternFried pork chop
36.9211416.48gZi charBlack pepper crab
47.2016222.5gChinesePig organ soup
57.2929540.47gWesternGrilled spiced chicken
68.8333638.05gWesternChicken chop with sauce
79.0437141.06gWesternBeef steak
89.0717018.75gChineseSliced fish soup (with milk)
99.2418019.49gZi charFish head steamboat
109.3511512.3gZi charSambal sotong
119.3611011.75gZi charClaypot chicken
1210.1542441.78gZi charSambal stingray
1310.66686.38gZi charPrawn paste chicken
1410.7434732.32gMalayKambing soup
1510.7532930.6gChineseChinese mutton soup
1611.0621719.62gChineseBak kut teh (soup)
1711.1621619.35gMalaySoto ayam
1811.40696.05gChineseSoft-boiled chicken egg, whole (per egg)
1911.9221417.96gZi charSweet and sour pork cutlet
2012.1518315.06gWesternFried chicken wing (per piece)
2112.20725.9gZi charHot plate tofu
2212.7863149.36gChineseWanton noodles (soup)
2312.8758145.14gChineseBeef noodles (soup)
2413.1422016.74gZi charKung po chicken
2513.2551839.08gChineseBak chor mee (soup)
2613.321057.88gZi charSambal prawns
2713.3945934.27gWesternPork chop spaghetti
2813.9154439.1gWesternFried chicken cutlet
2914.1075753.7gChineseEconomic rice (2 meats)
3014.1216911.97gZi charGinger chicken
3114.1793165.7gChineseClaypot chicken rice
3215.15835.48gZi charMala chicken
3315.2451133.52gChineseFishball noodles (soup)
3415.3336824gWesternGrilled pork chop
3515.4655435.84gZi charClaypot frog porridge
3615.571378.8gZi charHong shao tofu
3716.03102864.14gMalayNasi padang (beef set)
3817.011146.7gZi charMapo tofu
3917.0466739.15gChineseCurry chicken noodles
4017.3685048.97gWesternBlack pepper steak
4117.4284948.75gMalayMurtabak (mutton)
4217.4731818.2gChineseSliced fish porridge
4317.7186648.9gMalayAyam penyet with rice
4417.7465336.81gWesternPork chop baked rice
4518.061307.2gZi charStir fried kailan with beef
4618.4431016.81gZi charSalted egg pork rib
4718.5362533.72gChineseWanton noodles (dry)
4818.541528.2gZi charChilli crab
4918.8750926.98gZi charSambal goreng
5018.9747124.83gChineseSoya sauce chicken rice
5119.0223812.51gZi charButter crab
5219.2760031.13gChineseChar siew rice
5319.3947124.29gChinesePrawn noodles (soup)
5419.9641120.59gMalayMee soto
5520.5668133.13gChineseRoasted duck rice
5620.5764531.36gChineseBraised duck rice set (with egg and tau kwa)
5720.80102149.09gChineseKway chap
5820.8641719.99gChineseLaksa
5920.971567.44gZi charSweet and sour prawn
6020.9791943.82gWesternFried chicken cutlet with fries
6121.04106550.62gIndianNasi biryani (chicken)
6221.131426.72gChineseFish head curry
6321.461918.9gMalayTahu goreng
6421.6764329.67gChineseRoasted chicken rice
6522.3423510.52gZi charCereal prawn
6623.0445519.75gChineseBeef noodles (dry)
6723.0432714.19gMalayMee bandung
6823.4660225.66gChineseBan mian (soup)
6923.7931013.03gZi charSweet and sour pork
7024.0761225.43gChineseThunder tea rice
7124.2569328.58gMalayNasi lemak (fish set)
7224.3331713.03gIndianPrata (egg)
7324.7147519.22gChineseSteamed chicken rice
7424.8353821.67gChineseBak chor mee (dry)
7525.1551320.4gChineseFishball noodles (dry)
7625.4248218.96gChineseEconomic beehoon with fishcake and egg
7725.5838314.97gChinesePrawn noodles (dry)
7825.8273328.39gChineseRoast pork rice
7926.01101539.02gZi charEgg fuyong
8026.5066625.13gChineseLor mee
8126.5769826.27gMalayMee rebus
8226.7475028.05gChineseYang chow fried rice
8327.09117943.52gChineseYong tau foo (clear soup, 7 pc, fried)
8427.6181429.48gChineseHokkien mee
8529.212087.12gChinesePopiah
8631.1674223.81gMalayNasi goreng
8731.2465821.06gZi charEgg fried rice
8831.2982826.46gMalayMee goreng
8933.1990027.12gWesternFish and chips
9034.4157316.65gChineseSeafood hor fun
9134.6079923.09gChineseMee siam
9234.8337910.88gZi charSalted egg squid
9335.922557.1gZi charOyster omelette
9435.9939310.92gIndianThosai
9536.033529.77gZi charSweet and sour fish
9636.6884723.09gZi charPineapple fried rice
9737.6160416.06gChineseChinese rojak (mixed)
9837.8597425.73gChineseChar kway teow
9939.3699025.15gIndianPlain prata (2 pc, with curry)
10039.7564816.3gChineseBeef hor fun
10139.9048612.18gZi charCrayfish hor fun
10240.663187.82gWesternGarlic bread
10341.3646211.17gChineseFried carrot cake (white)
10446.5858612.58gChineseFried carrot cake (black)
10561.543766.11gChineseKaya and butter toast

What it means

The pattern is consistent. Steamed and grilled protein is cheap: black pepper crab, steamed fish, wanton soup, fish soup, prawn soup and any bone-in chicken dish all come in well under 20. Add rice or noodles and the number roughly doubles. Fry the noodles and it roughly doubles again.

Zi char is the clearest illustration. From the same stall, black pepper crab is 6.9 and sambal stingray is 10.2. Sweet and sour fish is 36.0, oyster omelette 35.9 and salted egg squid 34.8. It is not the seafood. It is the batter and the sugar.

Hawker western does better than anyone gives it credit for. A chicken chop is 8.8 and a beef steak is 9.0, better than every rice dish in this list. What kills it is what comes on the same plate: coleslaw lands at 153 calories per gram of protein and garlic bread at 40.7.

Two honest limits. HPB measures a typical serving, and a chicken rice plate varies enough between stalls that any single number is approximate. And 20 of the 105 rows are per-100 g records rather than a plate - that does not affect the ranking, since a ratio does not care about portion size, but those rows are not one serving.

Sources

All figures come from the Health Promotion Board's SG FoodID database, the successor to FOCOS, which no longer exists on the web under its old address. HPB marks most entries as laboratory analysis; 11 of 105 here are recipe-derived instead, and those are marked in the full table.

This is an independent analysis of publicly published nutrition data. It is not affiliated with HPB or any hawker operator and is not dietary advice. Portions and recipes vary between stalls, so treat these as indicative.

#data #food #nutrition #singapore