Where locals actually eat — by neighborhood, budget, and what to order.
Some links are affiliate links. Learn more.
Sofia may not be on every foodie’s radar, but it’s a hidden powerhouse of Balkan and Mediterranean flavors. Local markets buzz with fresh kashkaval, and traditional meyhanas serve grilled meats with a smoky Balkan twist. You can eat well for €10–20 per person, making it a budget-friendly food destination without sacrificing quality.
Oborishte is Sofia’s artsy, up-and-coming district with a mix of trendy cafés and family-run eateries. Look for wood-fired pides (Turkish flatbreads) and modern takes on Bulgarian banitsa. Prices are mid-range, and the best time to go is late afternoon when the neighborhood is quietest.
Lozenets is the city’s cultural heart, known for cozy trattorias and great wine bars. This is where locals go for hearty stews and grilled lamb chops. Budget €25–35 per person, and try to snag a table at one of the open-air patios in the summer.
Serdika is Sofia’s business and shopping district, but it also has a surprising number of upscale, international restaurants. Expect modern fusion menus and premium Balkan wines. It’s a good area for late-night dining, though expect to pay €40+ per person.
Izgrev is a working-class district with some of the best-value eats in the city. You’ll find everything from street-side shish kebabs to simple but authentic meyhanas. This is the place to go for honest, no-frills Bulgarian food.
Shopava is a creamy, smoky stew made from lamb or beef, often cooked with red wine and served with bread. You’ll find the best versions in traditional meyhanas in Lozenets or Izgrev, where the meat simmers for hours. Expect to pay €12–18 for a generous portion.
Banitsa is a savory cheese-filled pastry, often eaten for breakfast or as a snack. The best versions are sold at roadside stalls or small bakeries in Oborishte. Expect €2–4 for a single slice, or €8–10 for a full portion with eggs and tomato.
Kavarma is a rich, slow-cooked meat dish, usually made with pork, beef, or chicken in a tomato-based sauce. It’s a traditional Bulgarian comfort food. You’ll find the best versions in family-run tavernas in Izgrev, priced around €14–20 per main.
Tarator is a cold, refreshing yogurt-based soup with cucumber and dill. It’s perfect for Sofia’s hot summers and is a common starter or side. You can get it for €2–4 in most casual eateries, or as a larger portion in meyhanas for €6–8.
Kebapche is a Bulgarian-style grilled minced meat sausage, often served with grilled peppers and french fries. It’s a street food staple, and the best versions come from roadside stands in Izgrev and Serdika. Expect to pay €6–10 for a full meal.
Kasha is a porridge-like dish made from roasted wheat or buckwheat, often served with yogurt and honey. It’s a warming, healthy option, especially in colder months. Look for it at traditional bakeries in Oborishte or Lozenets. It usually costs €2–4 per serving.
Mousaka is a layered eggplant and meat dish baked in tomato sauce and béchamel. It’s more Greek in origin but widely loved in Bulgaria. The best versions are in Serdika’s more upscale restaurants, with prices ranging from €12–18 per portion.
Tavče Gravče is a slow-cooked baked beans dish, traditionally made with pork belly or sausage. It’s a hearty, rustic dish best eaten in Izgrev or Lozenets, where it’s often served with fresh bread. Expect to pay €8–12 per serving.
Kofte are spiced minced meat balls, often grilled or pan-fried. They’re commonly served with rice or flatbread in meyhanas. You’ll find great versions in Lozenets and Serdika for €10–15 per main.
| Meal type | Est. cost | What you get |
|---|---|---|
| Street food / market | €2–8 | Banitsa, tarator, kebapche, kasha |
| Casual sit-down | €10–20 | Banitsa, tavče gravče, kavarma |
| Mid-range restaurant | €25–35 | Mousaka, grilled meats, pides |
| Fine dining | €40+ | Lobster, truffle dishes, premium wines |