Danish Meatballs in Curry Sauce with Rice

Updated November 4, 2026

Total time
1 hr
prep 25 min · cook 35 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece

Jump to recipe

Danish Meatballs in Curry Sauce with Rice

Danish meatballs in curry sauce, known as boller i karry, pair tender pork meatballs with a mild, creamy curry sauce and rice. It is a familiar Danish home-style dinner with plenty of family and regional variations; this version uses grated apple for gentle sweetness and poaching broth to give the sauce a savory base.

Ingredients

  • Meatballs: 1 lb (450 g) ground pork
  • 1 small yellow onion, finely grated (about 2/3 cup or 70 g)
  • 1 large egg (about 50 g without shell)
  • 1/3 cup (80 ml) whole milk
  • 1/3 cup (40 g) all-purpose flour
  • 1 tsp fine salt (6 g)
  • 1/4 tsp ground black pepper (about 0.5 g)
  • 5 cups (1.2 L) water or low-sodium chicken broth, for poaching
  • 1 bay leaf (optional)
  • Rice: 1 1/2 cups (285 g) long-grain white rice
  • 2 1/4 cups (530 ml) water
  • 1/2 tsp fine salt (3 g)
  • Curry sauce: 3 tbsp (42 g) unsalted butter
  • 1 small yellow onion, finely diced (about 2/3 cup or 70 g)
  • 1 small apple, peeled and coarsely grated (about 1 cup or 150 g)
  • 2 tsp mild curry powder (about 4 g), or more to taste
  • 3 tbsp (24 g) all-purpose flour
  • 2 cups (475 ml) reserved poaching liquid
  • 1 cup (240 ml) whole milk
  • 1 tsp lemon juice (5 ml)
  • 1/2 tsp fine salt (3 g), plus more to taste
  • 1/8 tsp ground black pepper (about 0.3 g)

Instructions

  1. Get the ingredients ready. Grate one onion for the meatballs and finely dice the other for the sauce. Peel and grate the apple. Measure the rice, water, milk, flour, and seasonings so they are ready to use. Rinse the rice in a fine-mesh sieve under cool water until the runoff is mostly clear, then drain it well. This removes loose surface starch and helps the grains cook up separate.
  2. Mix and shape the meatballs. In a medium bowl, stir together the grated onion, egg, milk, flour, salt, and pepper until smooth. Add the ground pork and mix gently with a fork or clean hands just until combined; overmixing can make the meatballs dense. With damp hands or two spoons, shape the mixture into about 16 evenly sized balls, each roughly 1 1/2 inches (4 cm) across. Set them on a plate while you bring the cooking liquid to a simmer.
  3. Start the rice and poaching liquid. Put the rice, 2 1/4 cups (530 ml) water, and 1/2 teaspoon salt in a saucepan. Bring to a boil, stir once, cover, and reduce the heat to low. Cook for 15 minutes without lifting the lid, then remove the pan from the heat and leave it covered for 5 minutes. Meanwhile, bring the 5 cups of water or broth and the optional bay leaf to a gentle simmer in a wide pot. Avoid a rolling boil, which can break up the meatballs.
  4. Poach the meatballs. Lower the shaped meatballs carefully into the simmering liquid. Keep the liquid at a gentle simmer and cook for 12 to 15 minutes, turning the meatballs once if they are not fully submerged. Check the center of a larger meatball with a food thermometer: ground pork must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). Lift the cooked meatballs out with a slotted spoon and cover them loosely. Measure 2 cups (475 ml) of the poaching liquid for the sauce; strain it if it contains bits of onion or foam. Save any extra for another use or discard it.
  5. Make the curry sauce. While the rice finishes resting, melt the butter in a medium saucepan over medium heat. Add the diced onion and grated apple and cook for 4 to 5 minutes, stirring, until softened but not browned. Stir in the curry powder and cook for 30 seconds to bring out its aroma. Sprinkle in the flour and stir continuously for about 1 minute to make a smooth paste. Gradually whisk in the reserved poaching liquid, a little at a time, then whisk in the milk. Bring the sauce to a gentle simmer and cook for 4 to 6 minutes, whisking often, until it thickens enough to coat a spoon.
  6. Finish and serve. Stir the lemon juice, salt, and pepper into the sauce. Taste and adjust the seasoning; curry powders vary, so add a little more if you want a stronger flavor. Return the meatballs to the pan and turn them gently in the sauce until hot. Fluff the rice with a fork and serve it with the meatballs and plenty of curry sauce.

Tips

  • Keep the mixture tender. Mix the pork only until the ingredients come together, and use damp hands to shape the balls without squeezing them tightly. If the mixture feels unusually soft, refrigerate it for 10 minutes while the poaching liquid heats; this optional pause can make shaping easier, but is not required for the recipe timing.
  • Use a gentle simmer. Small bubbles around the edge of the pot are enough. A hard boil can cause the meatballs to break apart and may leave the outside overcooked before the centers reach a safe temperature.
  • Adjust the curry carefully. Start with mild curry powder, then taste the finished sauce before adding more. If you cannot find Danish-style mild curry powder, ordinary mild curry powder is a practical substitute; blends differ in spice and aroma, so the sauce may taste a little warmer or more cumin-forward.
  • Make the sauce smooth. Add the poaching liquid gradually while whisking. If small lumps form, whisk firmly or briefly blend the sauce before returning the meatballs to the pan.

Serving Suggestions

Serve the meatballs over a bed of freshly fluffed long-grain rice, spooning enough curry sauce over the top to coat the rice without drowning it. A simple green salad, steamed green beans, or lightly cooked peas add color and a fresh contrast to the creamy sauce. Sliced cucumber or quick-pickled cucumber is another crisp accompaniment, especially if you like a tangy counterpoint.

For a Danish-style table, set out extra sauce and a small dish of chutney or tart pickles so everyone can adjust their plate. A little chopped parsley can add freshness, although it is optional. The rice is also useful for soaking up the last of the sauce, so serve it warm in a separate bowl if guests prefer to choose their own portions.

Variations

Use a different ground meat: Ground pork is a common choice for this home-style dish because it makes tender, mild meatballs. You can use ground beef or a pork-and-beef mixture in the same amount. The flavor will be richer and less delicate; whichever meat you choose, check that the center reaches 160°F (71°C) for ground meat.

Make it dairy-free: Replace the milk in the meatball mixture and sauce with unsweetened oat milk or another neutral, unsweetened plant milk, and use a dairy-free butter alternative for the roux. The sauce may be slightly less rich, and some plant milks have a noticeable flavor, so choose one that is plain rather than vanilla or sweetened.

Change the fruit or seasoning: Pear can replace the apple in the sauce for a softer sweetness, while leaving the fruit out makes a more savory curry. For a warmer sauce, add a small pinch of ground turmeric or extra curry powder; for more heat, add a pinch of cayenne. Add spices gradually, since their intensity varies by brand and age.

Try another side: Boiled potatoes can stand in for rice if you want a more substantial plate. Noodles also work, though they are not the usual pairing in this version. Cook any alternative side separately and serve the sauce over it just before eating.

Storage and Reheating

Refrigerate leftover meatballs, sauce, and rice within 2 hours of cooking, preferably in shallow, covered containers. They keep for 3 to 4 days in the refrigerator. For the best texture, store the rice separately from the meatballs and sauce, though it is safe to store them together if that is more convenient.

Reheat only the portion you plan to eat. Warm the meatballs and sauce in a covered saucepan over low to medium-low heat, stirring gently and adding a splash of water or milk if the sauce has thickened. Reheat rice with a teaspoon or two of water, covered, in the microwave or in a saucepan. Stir and check that leftovers reach 165°F (74°C) throughout before serving. If freezing, freeze the cooled meatballs and sauce in a sealed container for up to 2 months for best quality; rice can also be frozen separately. Thaw in the refrigerator and reheat to 165°F (74°C).

Frequently Asked Questions

What does boller i karry mean?

The Danish name roughly means “meatballs in curry.” It describes the simple combination of meatballs, curry sauce, and usually rice. Recipes differ between households, especially in the sauce’s sweetness, thickness, and level of curry spice.

Can I make the meatballs ahead?

Yes. Shape the raw meatballs, cover them, and refrigerate them for up to 1 day before cooking. Keep raw ground pork separate from ready-to-eat foods, and cook the meatballs to 160°F (71°C). You can also cook the meatballs and sauce a day ahead, then refrigerate them promptly and reheat thoroughly.

Why is my curry sauce too thick or too thin?

Flour absorbs liquid as the sauce simmers, and the sauce will thicken further as it cools. Whisk in a little extra milk or poaching liquid if it is too thick. If it is too thin, simmer it gently for another few minutes, stirring often, rather than adding dry flour directly to the pan.

Can I use water instead of broth to poach the meatballs?

Yes. Water is a perfectly workable poaching liquid, and the onion and seasonings in the meatballs still provide flavor. The sauce will be milder than one made with broth, so taste it before serving and adjust the salt, pepper, curry powder, or lemon juice as needed.

Can I make this recipe gluten-free?

Use a cup-for-cup gluten-free flour blend in the meatballs and sauce, checking that it is suitable for both mixing and thickening. The sauce may thicken a little differently, so add the poaching liquid gradually and simmer until it reaches the consistency you like. Also confirm that the curry powder and broth are labeled gluten-free.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).