Hainan's signature summer sweet soup (糖水): a bowlful of separately cooked beans, grains, and starches — typically mung bean, adzuki bean, Job's tears (coix seed), and taro, plus chewy bits like grass jelly, glutinous rice balls, and sometimes macaroni or a quail egg — heaped with diced watermelon and other fresh fruit, then flooded with fresh coconut milk and iced. Unlike the clear herbal sweet soup called qingbuliang in Guangdong and Guangxi, the Hainan version is built on a rich base of fresh coconut milk (and/or coconut water), which gives it its creamy body and toasty coconut fragrance. It is sweet, cold, and loose enough to drink, eaten by the bowl on hot days at street stalls across Haikou, Sanya, and Qionghai.
Qingbuliang is a sweet soup found across southern China — Guangdong, Guangxi, Hainan, and beyond — and the name records a folk-medicine intent: 清 to clear summer heat, 补 to gently nourish, 凉 to cool, built on the south Chinese idea of food as tonic (药食同源). A popular tale traces it to Qin-dynasty soldiers sent to pacify Lingnan around 219 BCE, who fell ill in the damp heat until an army doctor devised a medicinal porridge of lotus seed, lily bulb, coix, and the like; this story is undocumented and almost certainly later folklore. What is recorded is more modest: in Hainan, qingbuliang was being sold from temporary street stalls and small teahouses by the 1920s, and from about 1953 it entered the state-run eateries of Haikou. The Hainan style is distinguished from the clear herbal soups of Guangdong and Guangxi by its coconut base — fresh coconut milk or coconut water rather than a plain rock-sugar broth — and over the twentieth century its mix-ins multiplied from a simple bean-and-coix bowl to today's lavish spread of grass jelly, fruit, quail egg, and rice balls. The exact originator is unrecorded.
The first taste is cold, sweet, and milky, with a clean toasted-coconut fragrance rising off the top; the coconut base is light on the tongue, never as heavy as canned coconut cream. Underneath, the spoon turns up a jumble of textures: mung and adzuki beans cooked soft but still whole, coix beads with a faint bite, taro gone floury and tender, slippery cubes of grass jelly, springy little rice balls, and the crisp watery snap of cold watermelon. Ice keeps the whole bowl bracingly cold. Done well it is loose and refreshing, the coconut fragrant and the mix-ins distinct; done badly the coconut tastes flat and powdery from coconut powder or stale tinned milk, the beans are either chalky-underdone or blown to mush, and without enough ice it turns cloying and warm.
What sets the Hainan bowl apart is fresh coconut milk, pressed from the grated flesh of mature ('old') coconuts. Old coconut has thick, oil-rich flesh, so its milk carries more fat than the milk of young green coconuts and far more aroma than reconstituted coconut powder; that fat is what gives the base its creamy body and round mouthfeel, and the volatile aromatics in fresh-pressed milk read as the dish's signature toasted-coconut perfume. (The clear qingbuliang of Guangdong and Guangxi skips this entirely, leaning on a rock-sugar herbal broth, which is why those versions taste light and medicinal rather than creamy.) Each mix-in is cooked separately and only just done — beans and coix simmered until soft but still holding shape, taro until floury, so nothing dissolves into the soup and muddies it. The grass jelly is set from 凉粉草 (mesona): the herb is boiled and its polysaccharides, helped by a little starch, gel on cooling into the soft, sliceable black jelly that adds slip and bulk without flavor of its own. Serving it iced is functional as well as refreshing — cold blunts sweetness and firms the jelly and rice balls, keeping the textures crisp and distinct.
Variations
The biggest split is regional: the Hainan style is coconut-based, while the qingbuliang of Guangdong is a clear tonic soup of Chinese yam, lotus seed, lily bulb, coix, dried longan, and often a little lean pork, frequently drunk warm, and the Guangxi version is a simpler cold bowl of watermelon, pineapple, and mung bean. Within Hainan the base itself divides into two camps — 椰子水清补凉, mixed to order with raw fresh coconut water for a clean, light bowl, and 椰奶清补凉, built on the richer pressed coconut-milk broth; some stalls offer both, or a plain sugar-water base. Qionghai is known for skipping ice cubes in favor of 炒冰, a coconut-milk-and-sugar mixture stir-frozen on a cold plate. Mix-ins vary by stall and by taste — common additions include red dates, peanuts, sago, taro balls, macaroni, and a quail egg — and upmarket versions are now served inside a whole coconut (椰子船) or topped with coconut-milk ice cream.
On the Palate
Where Hainan Coconut Milk Qingbuliang sits in the Chinese flavor cloud
Ingredients
Serves 4How it's made
7 steps · 40 min active + 50 min waiting
- 110 min
Soak mung beans, adzuki beans, and Job's tears (coix) for a few hours; soak peanuts and red dates if using.
- 230 min
Cook each starchy ingredient separately so they stay distinct: simmer the soaked beans and coix until soft but still whole, boil the peeled diced taro until floury, and cook the glutinous rice balls until they float. Drain each and let cool.
Watch outCook each starchy component separately so they stay whole and distinct — thrown in together they turn to mush and the bowl loses its clean, layered texture.
- 315 min
If serving with grass jelly, boil mesona (grass-jelly herb) to a dark extract, whisk in a little starch slurry, then let it set and cut into cubes; or use ready-made grass jelly cut into cubes.
- 415 min
Make the coconut base: press the grated flesh of mature coconuts with warm water and strain to get fresh coconut milk (or open fresh young coconuts for coconut water); sweeten lightly with rock-sugar syrup to taste and chill.
Watch outPress the milk from mature ('old') coconut flesh — that fat-rich fresh milk is the whole point; coconut powder tastes flat and thin by comparison.
- 55 min
Dice cold watermelon and any other fresh fruit just before assembling.
- 63 min
Into each bowl spoon a mix of the cooled beans, coix, taro, rice balls, and grass jelly, then add the diced fruit.
- 72 min
Pour the chilled coconut milk (or coconut water) over to cover, add ice, and serve cold.
Archive tool suggestions — not reviewed
These legacy suggestions have not been evidence-reviewed and are not presented as required tools.







