Golden potatoes and ground beef turn into a deeply savory, spoonable curry when they simmer together in a spiced tomato base. The beef stays crumbled and tender, the potatoes soak up the masala, and the whole pot finishes with that warm, clingy sauce that begs for naan. It’s the kind of dish that tastes like it took all afternoon, even though the cooking is straightforward and the ingredient list stays grounded in pantry staples.
What makes this version work is the order. The onions cook until they’re properly deep golden, which gives the curry a sweet, savory backbone before the spices go in. Yogurt and tomatoes are cooked down until the oil separates, which tells you the base has lost its raw edge and is ready to take on the potatoes. That step matters more than people think; if you rush it, the curry tastes flat instead of layered.
Below you’ll find the little details that keep the sauce from turning watery, plus a few smart swaps for different diets and whatever’s in your kitchen.
The potatoes held their shape and the sauce got that glossy, rich finish after simmering. I added a little extra garam masala at the end and served it with naan — my husband went back for seconds before I even sat down.
Save this aloo keema for a tomato-rich curry with tender potatoes and a rich, spiced beef sauce.
The Trick to Keeping the Potatoes Tender Without Turning the Curry Watery
The biggest mistake with aloo keema is adding too much water too early. Potatoes release a little starch as they cook, which helps the curry thicken naturally, but if the pot starts out soupy, you never get that concentrated sauce. You want just enough water to cover the potatoes, then a covered simmer so the liquid stays controlled and the beef has time to absorb the spices.
Another thing that matters here is the onion base. Deep golden onions don’t just add color; they give the whole dish its rounded, savory depth. If you stop at pale gold, the curry tastes thinner and sharper. I cook them until they’ve lost their raw bite and picked up a toasted sweetness that carries through every bite.
What Each Spice Is Doing in This Pot

- Ground beef — This gives the curry its body and richness. A beef with some fat works best because it carries the spices and keeps the final sauce from tasting dry. If you use a leaner grind, don’t drain every drop of fat unless there’s a lot pooled in the pan.
- Yukon gold potatoes — They hold their shape better than russets and turn creamy at the edges instead of falling apart. Cut them into even chunks so they finish at the same time. If you only have russets, dice them a little larger and watch them closely near the end.
- Yogurt — This adds tang and helps the tomato base turn silky. Stir it in over moderate heat after the beef is browned, not over high heat, or it can split. Plain full-fat yogurt gives the smoothest result.
- Tomatoes — Fresh diced tomatoes work beautifully when they cook down long enough, but canned diced tomatoes are an easy substitute and often more consistent. What matters is giving them time to lose their raw edge so the sauce can separate slightly at the edges.
- Garam masala — Add this at the end. It’s the finishing spice that makes the curry smell alive and layered instead of flat. If it cooks too long, the aroma fades.
Building the Masala So It Clings to the Beef
Brown the onions until they go deep and sweet
Start with the onions and cook them until they turn a deep golden brown, not just translucent. That color is the base of the dish, and it gives the curry a slow-cooked taste even though the recipe moves quickly. If the heat is too high, the edges will burn before the middle softens, so keep the pan at medium and stir often near the end.
Wake up the spices in the oil
Once the garlic, ginger, cumin, coriander, turmeric, and chili powder hit the pan, stir them for about 30 seconds. They should smell fragrant and toasted, not bitter. If they sit too long on dry heat, they can scorch; if they go in too late, they taste raw and dusty. The oil should look glossy and tinted before you move on.
Cook the tomato-yogurt base until it tightens
Add the tomatoes and yogurt, then cook until the mixture looks thicker and the oil starts to separate around the edges. That’s the sign the masala has fried properly and won’t taste watery. If it still looks loose and pale, keep cooking a few minutes longer before the potatoes go in. This step is what gives the finished curry depth instead of a simmered-together feel.
Simmer the potatoes just until they’re tender
Add the potatoes with just enough water to cover them, then bring the pot to a boil, cover it, and drop the heat to a steady simmer. You want the potatoes tender but still intact, with the sauce thick enough to coat a spoon. Stir once or twice so nothing sticks on the bottom, but don’t keep uncovering the pot or you’ll slow the cooking and evaporate the liquid too fast.
Ground turkey aloo keema
Use ground turkey for a lighter version, but keep a tablespoon or two of fat in the pan if it renders out. Turkey takes on the spices well, though the flavor is a little leaner, so don’t skip the onions and garam masala at the end.
Dairy-free version
Leave out the yogurt and add a splash of water or a little extra tomato to keep the masala moving. The sauce won’t have the same tang or silkiness, but the curry still comes out bold and satisfying.
Make it hotter without changing the base
Add a fresh green chili with the garlic and ginger, then finish with sliced chili on top. That keeps the heat bright instead of muddying the whole pot with extra chili powder.
Storage and Reheating
- Refrigerator: Keeps for 3 to 4 days. The potatoes absorb more sauce as it sits, so the curry thickens a bit overnight.
- Freezer: Freezes well for up to 2 months. Cool it completely first and pack it in airtight containers; the texture of the potatoes softens slightly after thawing, but the flavor holds up.
- Reheating: Warm it gently on the stove over low heat with a splash of water if needed. High heat can break the sauce and toughen the beef, so give it time to loosen and heat through slowly.
Answers to the Questions Worth Asking

Aloo Keema
Ingredients
Equipment
Method
- Heat 3 tablespoons oil in a large pot over medium heat, then cook the finely diced onion for 8–10 minutes until deep golden. Keep stirring so the onion browns evenly and turns richly caramel-colored.
- Add the minced garlic and grated ginger and cook for 1 minute. Stir until fragrant but not browned.
- Add cumin, coriander, turmeric, and chili powder, then stir for 30 seconds. The spices should darken slightly and smell toasted.
- Add the ground beef and cook until browned, breaking it apart as it cooks. Drain excess fat if needed so the curry stays less greasy.
- Stir in the diced tomatoes and plain yogurt, then cook for 5 minutes until oil separates. Scrape the bottom of the pot so the sauce turns glossy and golden-orange.
- Add the diced potatoes and enough water to just cover, then bring to a boil. Make sure the liquid level reaches the top of the potatoes.
- Cover the pot and simmer for 15–18 minutes until the potatoes are tender. You should be able to pierce them easily with a fork.
- Stir in garam masala, adjust seasoning with salt to taste, and garnish with fresh cilantro and green chili. Serve hot with naan or rice.