Must-try dishes
Rijsttafel is Amsterdam's adopted Indonesian rice table: a single bowl of jasmine rice surrounded by twelve to twenty-five small dishes, sambals, satays, rendang, gado-gado, served as a long shared meal.
Where: Restaurant Blauw, Tempo Doeloe, Warung Spang Makandra, Sampurna, Mama Makan
Price: €35-60 per person
Hollandse Nieuwe is Amsterdam's raw young soused herring, fished from June, served at canal-side haringhandel stands with diced raw onion and tiny gherkins, eaten whole by the tail or in a soft bread roll.
Where: Frens Haringhandel, Stubbe's Haring, Volendammer Vishandel
Price: €4-6 per herring
Bitterballen are Amsterdam's bar snack: deep-fried golf-ball-sized croquettes of beef ragout, crisp breadcrumb outside, molten inside, served with mustard. Eaten with a pilsner, six to a plate.
Where: De Ballenbar at Foodhallen, Café Hoppe, Café 't Smalle, Moeders Dutch Kitchen, Café Papeneiland
Price: €7-12 per portion
Stroopwafel is Amsterdam's market sweet: two thin sandwich-thin waffles pressed around hot caramel syrup, served warm so the caramel oozes when you bite. The market vendor presses them to order.
Where: Rudi's Stroopwafels, Original Stroopwafels Albert Cuyp
Price: €2-3 each
Kibbeling is Amsterdam's fried-fish street snack: bite-sized cod chunks in a spiced batter, deep-fried, served with garlic mayonnaise or tartare sauce in a paper cone or basket.
Where: Volendammer Vishandel, Frens Haringhandel, Stubbe's Haring
Price: €6-10 per portion
Appeltaart is Amsterdam's deep-dish apple pie: crumbly butter crust around thick-sliced apples spiced with cinnamon, sometimes raisins or sultanas, served warm with a heap of whipped cream.
Where: Winkel 43, Café Papeneiland
Price: €5-8 per slice
Saoto soep is Amsterdam's Surinamese signature: clear chicken broth crowned with bean sprouts, fried potato pieces, hard-boiled egg, fried shallots, sambal on the side. Eaten with rice or a roti wrap.
Where: Warung Mini, Warung Spang Makandra
Price: €8-14 per bowl
Roti kip is Amsterdam's Surinamese flatbread dish: a soft pancake-thin roti wrapped around curried chicken, potato, kouseband bean stew, hard-boiled egg, with sambal on the side.
Where: Warung Spang Makandra, Warung Mini
Price: €10-15 per plate
Stamppot is Amsterdam's winter comfort plate: mashed potato pounded together with a green (kale, sauerkraut, endive) or root vegetable (carrot, onion), topped with a smoked sausage and a well of jus.
Where: Moeders
Price: €16-22 per plate
Amsterdam frites are double-fried Belgian-style chips, served in a cone with a thick layer of Dutch mayonnaise or one of twenty-plus sauce options at the counter, eaten standing up or walking.
Where: Vleminckx De Sausmeester, Heertje Friet
Price: €3.50-7 per cone
Rijsttafel
Rijsttafel is Amsterdam's adopted Indonesian rice table: a single bowl of jasmine rice surrounded by twelve to twenty-five small dishes, sambals, satays, rendang, gado-gado, served as a long shared meal.
History: The Dutch developed rijsttafel in colonial-era Indonesia in the 19th century, expanding small-plate selamatan ritual meals into elaborate spreads to display the variety of the archipelago. After Indonesian independence in 1949 and the Indo-Dutch settlement in the Netherlands, Amsterdam restaurants like Tempo Doeloe, Sampurna and later Restaurant Blauw codified the form for European diners. Today rijsttafel is the most Amsterdam-specific Indonesian meal you will find in Europe, a format barely served in Indonesia itself.
Where to try it: Restaurant Blauw, Tempo Doeloe, Warung Spang Makandra, Sampurna, Mama Makan
Watch out for: Peanuts, Shellfish, Soy, Gluten
Hollandse Nieuwe Haring
Hollandse Nieuwe is Amsterdam's raw young soused herring, fished from June, served at canal-side haringhandel stands with diced raw onion and tiny gherkins, eaten whole by the tail or in a soft bread roll.
History: The herring trade built Amsterdam's economy in the 17th century. Hollandse Nieuwe means the new catch of the season, salted briefly so the herring oil reaches peak fat content. The first barrel of the year is traditionally auctioned for charity in early June. The Amsterdam haringhandel format, eaten standing at the stall with onion and pickles, dates back centuries; Frens at Koningsplein and Stubbe's at the Haarlemmersluis on the Singel are the city's reference stalls.
Where to try it: Frens Haringhandel, Stubbe's Haring, Volendammer Vishandel
Watch out for: Fish
Bitterballen
Bitterballen are Amsterdam's bar snack: deep-fried golf-ball-sized croquettes of beef ragout, crisp breadcrumb outside, molten inside, served with mustard. Eaten with a pilsner, six to a plate.
History: Bitterballen evolved from the bitter, an aperitif served before dinner with small savoury snacks. The Dutch beef-ragout filling reads as kitchen-economy thinking: leftover stew thickened with roux, chilled into a ball, breaded and fried to order. Every Amsterdam brown cafe and most modern bars run them; De Ballenbar inside Foodhallen pushes the format with truffle and lobster variants for a splurge.
Where to try it: De Ballenbar at Foodhallen, Café Hoppe, Café 't Smalle, Moeders Dutch Kitchen, Café Papeneiland
Watch out for: Gluten, Dairy, Egg
Stroopwafel
Stroopwafel is Amsterdam's market sweet: two thin sandwich-thin waffles pressed around hot caramel syrup, served warm so the caramel oozes when you bite. The market vendor presses them to order.
History: Stroopwafels emerged in Gouda in the late 18th century as a baker's way to use leftover crumbs and syrup. By the 20th century the format moved into Amsterdam street markets, with Albert Cuyp and Lindengracht running fresh-pressed stroopwafels alongside the vacuum-packed boxes sold at supermarkets. The warm market version is fundamentally different from the supermarket cookie: a soft caramel layer, the waffles still pliable from the iron.
Where to try it: Rudi's Stroopwafels, Original Stroopwafels Albert Cuyp
Watch out for: Gluten, Egg, Dairy
Kibbeling
Kibbeling is Amsterdam's fried-fish street snack: bite-sized cod chunks in a spiced batter, deep-fried, served with garlic mayonnaise or tartare sauce in a paper cone or basket.
History: Kibbeling started as the fishmonger's way to sell offcuts: small pieces of cod or whiting that wouldn't sell as fillets, battered and fried fast. By the 1990s the snack had moved off the harbour and into Amsterdam street markets, with Volendammer Vishandel at Albert Cuyp setting the template. The batter is enriched with paprika, nutmeg or curry powder; the garlic mayonnaise is the universal accompaniment.
Where to try it: Volendammer Vishandel, Frens Haringhandel, Stubbe's Haring
Watch out for: Fish, Gluten, Egg
Appeltaart
Appeltaart is Amsterdam's deep-dish apple pie: crumbly butter crust around thick-sliced apples spiced with cinnamon, sometimes raisins or sultanas, served warm with a heap of whipped cream.
History: Dutch apple pie traces back to medieval recipes recorded in 1514, but the modern Amsterdam appeltaart was codified at Winkel 43 on Noordermarkt in the late 20th century: a deep pan, a thick crumb base, a foam of whipped cream alongside. Cafe Papeneiland on the Jordaan canal corner serves the next-best version, the building going back to 1642. The pie is eaten as both dessert and afternoon snack.
Where to try it: Winkel 43, Café Papeneiland
Watch out for: Gluten, Dairy, Egg
Saoto Soep
Saoto soep is Amsterdam's Surinamese signature: clear chicken broth crowned with bean sprouts, fried potato pieces, hard-boiled egg, fried shallots, sambal on the side. Eaten with rice or a roti wrap.
History: Saoto soep arrived in Amsterdam with the Surinamese diaspora after Suriname's 1975 independence. The soup traces back to Indonesian-Javanese soto, brought to Suriname by 19th-century Javanese plantation labourers, then carried to Amsterdam by the Surinamese-Hindustani-Javanese community. Warung Mini on Ceintuurbaan and Spang Makandra on Gerard Doustraat are the city's two reference rooms.
Where to try it: Warung Mini, Warung Spang Makandra
Watch out for: Egg, Soy
Roti Kip
Roti kip is Amsterdam's Surinamese flatbread dish: a soft pancake-thin roti wrapped around curried chicken, potato, kouseband bean stew, hard-boiled egg, with sambal on the side.
History: Roti came to Amsterdam with the Surinamese-Hindustani community after 1975. The Amsterdam format derives from Indo-Caribbean roti as it evolved in Suriname: a thinner, more pliable wrap than its Trinidadian cousin, served deconstructed so you assemble each bite at the table. Spang Makandra in De Pijp has been the city's reference room since 1978, the warung where most Amsterdammers first encounter the dish.
Where to try it: Warung Spang Makandra, Warung Mini
Watch out for: Gluten, Egg
Stamppot
Stamppot is Amsterdam's winter comfort plate: mashed potato pounded together with a green (kale, sauerkraut, endive) or root vegetable (carrot, onion), topped with a smoked sausage and a well of jus.
History: Stamppot was Dutch peasant cooking, a one-pot kitchen-economy meal mashing potato and seasonal vegetables together. Boerenkool stamppot (with kale) is the most iconic version. By the 20th century it had moved into Amsterdam brown cafes and eetcafes as the winter signature plate. Moeders on Rozengracht runs the canonical version, the menu rotating greens through the cold months.
Where to try it: Moeders
Watch out for: Dairy
Frites with Mayonnaise
Amsterdam frites are double-fried Belgian-style chips, served in a cone with a thick layer of Dutch mayonnaise or one of twenty-plus sauce options at the counter, eaten standing up or walking.
History: Belgian-style double-fried frites arrived in Amsterdam in the post-war period. Vleminckx De Sausmeester opened on Voetboogstraat in 1957 and codified the city's frites format: thick-cut chips, fried twice for the crisp shell, mayonnaise the default sauce. The cone wrapping is the convention, eaten on the alley pavement. Heertje on Herengracht runs the modern hand-cut version.
Where to try it: Vleminckx De Sausmeester, Heertje Friet
Watch out for: Egg