Bali has a food scene far broader than the smoothie bowls on your Instagram feed. Between suckling pig roasted over coconut husks at dawn, rice plates assembled by hand in family-run warungs, and grilled seafood by the beach in Jimbaran, the island offers dining experiences at every price point. A plate of Nasi Campur at 25,000 IDR (around 1.50 EUR) can be every bit as memorable as a 500,000 IDR (30 EUR) tasting menu at a fine dining restaurant amid the rice terraces.
As we explain in our complete guide to visiting Bali, your choice of neighborhood directly shapes what you eat. Ubud is the cradle of traditional Balinese cooking and healthy cafes. Canggu has become the brunch and plant-based capital. Seminyak does fine dining better than anywhere else on the island. And the food markets scattered across the Gianyar regency serve the kind of dishes most tourists never discover. This guide covers each area, the must-try dishes, and the restaurants that are truly worth the detour.
Must-try Balinese dishes
Babi Guling (suckling pig)
Babi Guling is the flagship dish of Balinese cuisine. A whole pig is stuffed with a paste of turmeric, coriander, lemongrass and chili, then slow-roasted over a wood fire for hours until the skin turns perfectly crispy. It’s served over rice with lawar (a spicy mix of vegetables and minced meat), blood sausage, and a fiercely hot sambal matah. A plate typically costs between 35,000 and 50,000 IDR (2 to 3 EUR).
The rule most tourists miss: eat Babi Guling at lunch, ideally between 11am and noon. The pigs are roasted in the morning, and the best warungs run out by early afternoon. Any place serving Babi Guling at dinner is almost certainly offering reheated, dried-out leftovers. If the skin doesn’t crack between your teeth, you arrived too late.
Now, the tourist trap warning. Ibu Oka in Ubud has been riding its post-Anthony Bourdain celebrity for years. Prices have climbed, portions have shrunk, and quality is inconsistent. Same goes for Pak Malen in Seminyak. Both still draw long lines of tourists, but locals and long-term expats have moved on.
Where they go now: Babi Guling Pande Egi near Gianyar is the current benchmark, tucked among rice paddies with zero tourist markup. In Ubud, Warung Babi Guling Gung Cung outperforms Ibu Oka for a fraction of the price. For Canggu, Warung Babi Guling Swari and Warung Men Lari in Pererenan are the local picks. Further south, near Jimbaran, Babi Guling Karya Rebo does a solid job. And if you want a truly local experience, Warung Babi Guling Selingsing Cepaka operates late into the night until the early hours and sees almost no foreign faces.

Bebek Betutu and Ayam Betutu
Bebek Betutu is Bali’s iconic ceremonial dish: a whole duck wrapped in banana leaves, rubbed with a dense spice paste called base genep, then slow-cooked for 12 to 24 hours until the meat falls off the bone. It was traditionally reserved for temple ceremonies and special occasions.
The chicken version, Ayam Betutu, is more common and just as good. Men Tempeh in Gilimanuk (the western tip of Bali, near the ferry port to Java) has a strong reputation for an Ayam Betutu so spicy it borders on painful. Closer to the tourist zones, you’ll find good versions at the Gianyar night market.
Nasi Campur (mixed rice)
If Babi Guling is the king, Nasi Campur is the everyday staple. A mound of steamed rice surrounded by small portions of whatever the warung prepared that morning: shredded chicken, tempeh, tofu, a piece of fish, sambal, peanuts, kerupuk (prawn crackers), sometimes lawar or sate lilit on the side. The Balinese version tends to be spicier and heavier on turmeric than the Javanese style found elsewhere in Indonesia.
The cheapest and most authentic way to eat Nasi Campur is “tunjuk” style: you walk up to a glass display, point at what you want, and the server piles it all onto a plate of rice. Expect to pay between 20,000 and 40,000 IDR (1.20 to 2.50 EUR) depending on the proteins you add. If a warung charges more than 50,000 IDR for a basic Nasi Campur, you’re probably in a tourist-oriented spot.
Sate Lilit
This is the Balinese version of satay, and it has nothing in common with the peanut-sauce skewers found everywhere across Southeast Asia. Minced fish (usually mackerel or tuna) or pork is mixed with coconut, kaffir lime leaves, and lemongrass, then wrapped around a lemongrass stalk and grilled.
Sate lilit works better as a side dish than a main, and the best versions are found at night markets and as a topping on a Nasi Campur plate. Fish and pork versions are both worth trying. Warung Liku and Warung Ari in Denpasar are reliable picks, and Gourmet Sate House in the Kuta-Legian area offers tasting platters for those who want variety.
Lawar and other dishes to know
Lawar is a finely chopped mixture of vegetables, coconut, and meat (sometimes with raw pig’s blood in the traditional version) seasoned with spices. It appears as a side dish with Babi Guling and in Nasi Campur. Babi Genyol, a spicy pork soup, shares similar aromatic profiles with Babi Guling but is prepared in a completely different way and rarely shows up on the tourist circuit. Warung Babi Genyol Arta Nadi is one of the few places to try it.
For dessert, Martabak Manis (also called Terang Bulan) is a thick sweet folded pancake stuffed with chocolate, cheese, peanuts, or a mix of all three, sold from street carts in the evening.
Best warungs by neighborhood
Warungs are the backbone of eating in Bali. These small family-run establishments serve homemade Indonesian food at local prices, and they range from a plastic table under a corrugated metal roof to a proper restaurant with a garden. A good warung’s cooking often surpasses mid-range tourist restaurants, for a fraction of the price.
Canggu
Warung Bu Mi has earned its reputation as the go-to warung for visitors. The Nasi Campur selection is wide, the kitchen is clean and visible, and the turnover is high enough that everything stays fresh. Expect a queue during peak lunch hours. Some regulars argue that Warung Varuna, closer to Batu Bolong beach, tastes better and has bolder seasoning than Bu Mi. Both are solid choices for a first warung experience.
Warung Sika is worth the short walk: it still offers a view over the rice paddies in the heart of Canggu (increasingly rare as urban development swallows up the plots) and costs next to nothing. Warung Jawa Bu Sri serves Javanese food (sweeter, less spicy) and makes for an interesting counterpoint to the Balinese flavors that dominate most warung menus.
Ubud
Warung Makan Bu Rus is the name that comes up most among visitors who’ve spent real time in Ubud. The setting is leafy, the Nasi Campur is well-regarded, and the crispy duck draws people across town. Sun Sun Warung is smaller, family-run, and serves homemade Balinese food that costs almost nothing. Warung Biah Biah takes a different approach with small tapas-style portions that let you sample five or six dishes without committing to a single plate.
The practical tip for Ubud: walk 10 to 15 minutes away from the Royal Palace and the market. The warungs get cheaper, less crowded, and often better once you leave the immediate tourist perimeter. Also check out our guide to staying in Ubud and enjoying its food scene.
Seminyak
Cheap local food is harder to find in Seminyak than anywhere else in the tourist zones, but it exists. Warung Murah (the name literally means “cheap warung”) is the reliable pick for Nasi Campur at local prices. Warung Nia has made a name for itself with its pork ribs and satay, with some expats claiming it’s better value than the more famous Naughty Nuri’s further up the road. Warung Kolega does a Javanese-style Nasi Campur that makes for a pleasant change.
Sanur
Warung Mak Beng has reached legendary status. There’s no menu. You sit down, and they bring you fried fish, fish head soup, rice, and a sambal that long-time regulars describe as a revelation. That’s it. The whole thing costs about 35,000 IDR (2 EUR). Warung Mak Beng has been operating this way for decades and the formula doesn’t change.
In the same area, Warung Men Weti is a breakfast institution, but you need to arrive before 8am because the food goes fast. Warung Kecil is tiny but clean, with a Nasi Campur that bridges warung cooking and a slightly more polished presentation.

Street food and night markets
Gianyar night market
If you visit only one market in Bali, make it Gianyar. It’s about 30 minutes from Ubud by scooter or car, and it’s where Balinese families actually go to eat in the evening. Whole roasted pigs are displayed at the Babi Guling stalls. Sate lilit sizzles over charcoal. Ayam Betutu is unwrapped from its banana leaves. The market also sells kue (traditional cakes) and jajanan pasar (market snacks) that rarely appear on restaurant menus.
Prices are fixed (no bargaining), and everything is cooked fresh in front of you. The atmosphere is local, loud, and completely no-frills. It’s the exact opposite of a neatly orchestrated “food tour,” and that’s precisely why the food is better.
Pasar Badung (Denpasar)
Bali’s largest market operates as a fresh market by day (produce, spices, flowers, meat) and transforms into street food in the late afternoon. This is not a gentle introduction. The smells are strong, the floor is wet, the aisles are narrow, and the whole thing is genuinely chaotic.
Cross the bridge to reach Pasar Kumbasari and its concentrated street food section. Look for lumpia (spring rolls with a green chili sauce), es daluman (a cold herbal jelly drink, perfect between spicy bites), and Nasi Campur wrapped in brown paper to eat standing up. The universal rule applies here: find the stall with the longest line of locals and join them.
Sanur night market (Pasar Sindhu)
If Gianyar feels too intense and Pasar Badung seems excessive, Sanur’s night market is a good entry point. It’s cleaner, smaller, slightly more expensive, and used to foreign customers. The satay kambing (goat satay) is reliable, and the martabak manis stalls make a good version of the stuffed sweet pancake. A solid first night market if you’re still adjusting to local food.

The Ubud food scene
Ubud operates on two parallel tracks. Traditional Balinese cooking in warungs (covered above), and the internationally influenced healthy cafe culture that grew up around the yoga-and-wellness community. Both are worth exploring.
Cafes and brunch
Suka Espresso pulls the best coffee in Ubud and serves an Australian-style brunch that would hold its own in Melbourne. Watercress is the place for a proper full English with eggs, bacon, toast, and good coffee when you need a break from rice-based meals.
Yellow Flower Cafe, hidden in the hills of Penestanan above central Ubud, is the kind of place you’d never find without a recommendation. The climb is steep, the view is worth it, and the food is simple but well-executed. Pison rivals Suka Espresso for the best coffee in the area and offers a more laid-back atmosphere.
Fine dining and modern Indonesian cuisine
Hujan Locale takes traditional Indonesian recipes and refines them without erasing the flavors that make them interesting. It’s the best introduction to modern Indonesian cuisine in Ubud.
Pica South American Kitchen does steak and ceviche at a level that has nothing to do with Bali but is frankly excellent. Book ahead, especially for dinner. Moksa is a plant-based restaurant that wins over even committed carnivores. The cooking is inventive without being pretentious, and the “farm-to-table” approach is a genuine commitment, not just a marketing line.

Seminyak and Canggu: two culinary personalities
Seminyak: fine dining and romantic evenings
Seminyak does evening dinners better than anywhere else on the island. Bambu is the default recommendation for a couples’ dinner: the restaurant is built on floating platforms above the water, the lighting is dim, and the Indonesian-inspired menu is consistently good. Sardine occupies an unlikely setting in the middle of Seminyak’s urban development, overlooking an active rice paddy that hasn’t yet been bulldozed. The seafood justifies the prices.
La Lucciola is old-school Bali: an Italian beachside restaurant, long sunsets, and the kind of relaxed atmosphere that Seminyak’s newer spots have largely traded for Instagram aesthetics.
Merah Putih serves modern Indonesian cuisine in a spectacular architectural space. Mama San covers broader Asian fusion territory. And Naughty Nuri’s, while not traditional Balinese food at all, has been serving barbecue pork ribs and stiff martinis since before Seminyak was cool. It’s an institution. Are the ribs the best on the island? That’s debatable (Warung Nia’s arguably offer better value), but the atmosphere keeps people coming back.
Canggu: brunch capital and vegan HQ
Canggu has more vegan restaurants per square kilometer than anywhere else in Southeast Asia, and the brunch culture rivals any Australian city. The Shady Shack is the original vegan classic: halloumi bowls, jackfruit burgers, and smoothie bowls in a laid-back wooden setting. Even people with zero interest in veganism end up eating there and enjoying it. I Am Vegan Babe takes the opposite approach from Moksa: unapologetic vegan junk food, burgers, loaded pancakes, burritos, and fries.
Crate Cafe was one of Canggu’s first brunch spots and still offers the best value for Western food, with generous portions and a loyal following. The weekend queue can be long. Milk and Madu is family-friendly. Mason is a better option for dinner than brunch, with a more refined evening menu. Secret Spot specializes in vegan waffles and desserts.
The general rule: head to Seminyak for dinner, Canggu for brunch, and Ubud if you want the most authentic Balinese food on the island.
Jimbaran: seafood on the beach
Jimbaran Bay is the place in Bali for a seafood dinner with your feet in the sand. The concept is simple and identical across the dozen or so restaurants lining the beach: you choose your fish, prawns, squid, crab, or lobster from an ice display, it gets weighed, grilled over coconut husks, and you eat it at a table on the sand as the sun sets.
A seafood dinner for two with grilled fish, prawns, rice, vegetables, and a few drinks typically runs between 400,000 and 700,000 IDR (24 to 42 EUR), which is expensive by warung standards but reasonable given the amount of food and the setting. Fish quality is generally good across all the beachside restaurants, so the main differentiator comes down to the sambal and the freshness of the display.
Go at sunset. Arrive around 5:30pm to get a good table without a reservation. By 6:30pm the beach fills up and some restaurants start turning people away. The experience is better on weekdays when it’s less crowded. Some of the larger restaurants (Menega, for instance) can feel like tourist factories during high season, but the smaller spots at the southern end of the bay are quieter and offer better service.

Cooking classes
One of the best ways to understand Balinese cuisine is to spend a morning cooking it yourself. Cooking classes are one of Bali’s most popular activities, especially in the Ubud area where many begin with a visit to the local market to buy ingredients.
You’ll typically learn to prepare base genep (the foundational spice paste), a few dishes like sate lilit and lawar, and a dessert. Classes last 4 to 5 hours, include the market visit and a full meal of everything you’ve prepared, and cost between 300,000 and 500,000 IDR (18 to 30 EUR). We cover the best options in our guide to activities and things to do in Bali.
Eating on a budget
Bali remains one of the cheapest places in Southeast Asia for good food, as long as you eat where the locals eat. The price gap between warung food and tourist restaurants is enormous.
At a typical warung, a plate of Nasi Campur costs between 20,000 and 40,000 IDR (1.20 to 2.50 EUR). A plate of Babi Guling with rice and sides runs between 35,000 and 50,000 IDR (2 to 3 EUR). A complete meal at Warung Mak Beng in Sanur costs 35,000 IDR.
A martabak manis from a street cart costs between 10,000 and 25,000 IDR (0.60 to 1.50 EUR). You can eat three full meals a day for under 100,000 IDR (6 EUR) by sticking to warungs and street food. Our budget guide and practical tips breaks down the day-to-day costs.
Compare that to a Western brunch at a Canggu cafe (80,000 to 150,000 IDR / 5 to 9 EUR), a meal at a mid-range tourist restaurant (150,000 to 300,000 IDR / 9 to 18 EUR), or a fine dining dinner in Seminyak (500,000+ IDR / 30+ EUR). Warung food is often better.
Tips for eating cheap: look for glass displays (the “tunjuk” system where you point is always the cheapest way to eat). Follow GoJek delivery drivers to their lunch spots. Walk at least 10 minutes away from any main tourist street. Have your main meal at lunch when the food is freshest and cheapest. And be wary of any warung where the English menu is bigger than the Indonesian one.
Eating by neighborhood
Where you stay determines what you eat, and it’s worth thinking about when choosing your base. If your priority is traditional Balinese cooking and warung-hopping, Ubud and the Gianyar area offer the most authentic options within walking or scooter distance. If you want the best brunch and plant-based scene, Canggu is the obvious choice. For fine dining in the evening and international cuisine, Seminyak has the highest concentration of quality restaurants. Sanur is quieter, with fewer options, but the ones that exist (like Warung Mak Beng) have held their reputation for decades.
We cover each neighborhood in our guide to where to stay in Bali.
Denpasar, Bali’s capital, is largely ignored by tourists but has the best warung food on the island. Warung Wardani is a good entry point: it’s a slightly more polished version of a Nasi Campur warung, with a set plate that lets you sample the essential Balinese dishes without the guesswork of a tunjuk-style counter. The city’s markets (Pasar Badung in particular) also offer food experiences that simply don’t exist in the tourist zones.
Vegetarian and vegan eating
Bali is arguably the easiest island in Indonesia for plant-based eating. Traditional food already includes plenty of tempeh, tofu, vegetables, and coconut, so even at a regular warung, you can put together a satisfying meatless Nasi Campur plate. Just point at the vegetable dishes, tempeh, tofu, and sambal.
Beyond traditional food, dedicated vegan and vegetarian restaurants are concentrated in Canggu and Ubud. The Shady Shack and I Am Vegan Babe in Canggu cover the casual side. Moksa in Ubud handles the fine dining end. Secret Spot does vegan desserts. The density of options in these two neighborhoods means you can eat entirely plant-based for weeks without repeating a restaurant.
A word of caution: many Balinese dishes contain shrimp paste (terasi) or chicken broth that isn’t always visible. If you’re strictly vegan, mention it when ordering at warungs. Dedicated vegan restaurants are transparent about ingredients, but at a traditional warung, the sambal may contain shrimp paste and the soup base may not be plant-based.
Food safety and avoiding “Bali belly”
Getting sick from food in Bali is common enough that “Bali belly” has its own name, but the risk is manageable with a few simple habits. The most reliable rule: eat at busy warungs. High customer turnover means the food was cooked recently. An empty warung means the Nasi Campur has been sitting in the display case for hours, and that’s where bacteria multiply.
Anything that’s been boiled, fried, or grilled in front of you is safe. Pre-cut fruit from street vendors is riskier (it may have been washed in tap water and sitting out for a while). Avoid the raw shredded cabbage garnish that comes with some dishes. If the Nasi Campur in the display looks dry or crusty, move on to the next warung.
The ice question comes up constantly (we also cover it in our health and practical tips guide), and the answer is straightforward: tube-shaped ice cubes with a hole in the center (factory-made) are safe. Irregularly chopped ice from a block is less reliable. At any established warung or restaurant, the ice is safe.
General hygiene: sanitize your hands after handling money and before eating. Indonesian banknotes are not clean. Some travelers bring their own utensils, and you can also order “bungkus” (takeaway, wrapped in paper or a bag) to avoid the dish-washing question at very basic warungs.
If you’re coming from Phuket
Travelers who’ve already explored the food scene in Phuket will find familiar ground in Bali. Both islands have a strong street food culture, beachside seafood dinners, and a clear divide between tourist-oriented restaurants and the local spots where you eat better.
The main differences: Bali’s warung culture is even more accessible than Thai street stalls, prices are lower across the board, and the vegan restaurant scene in Canggu and Ubud goes far beyond what you’ll find in Phuket. The spice profiles are completely different: Bali leans heavily on turmeric, galangal, and lemongrass where Thai cooking focuses on chili, kaffir lime, and fish sauce.
Bangkok is Southeast Asia’s other culinary capital: check out our guide to where to eat in Bangkok.
Street food lovers will also enjoy Hanoi: discover where to eat in Hanoi, from pho to egg coffee.
