Trim away the sinew from the beef and cut the meat into 1/2-to-1-inch cubes. Transfer to a bowl and use your hands to mix with the paprika, turmeric, and salt. Let the beef marinate at room temperature while you prepare the other ingredients, or refrigerate overnight.
In a 6-quart pot, heat the oil over medium-high heat. Add the ginger and cook until the edges become slightly browned, 2 minutes. Stir in the lemongrass and cook until slightly softened, 2 minutes.
Add the onions, lower the heat to medium, and cook for 4 minutes, stirring often to keep the onions from sticking to the bottom of the pot. Stir in the garlic, chiles, and bay leaves. Decrease the heat to medium-low and cook, stirring often, until most of the water from the onions has been cooked out and a glossy layer of oil has risen to the surface, about 10 minutes.
Add the beef and fish sauce and stir to coat. Pour in the water. Increase the heat, bring to a boil, then lower to a gentle simmer (at this point I highly suggest taking a few minutes to skim the impurities and some of the excess oil from the surface–there was a lot of scum on mine). Cook, stirring occasionally, until the meat is beginning to become tender, about 1 1/2 hours.
Stir in the curry powder, garam masala, and potatoes. Pour in more water if the curry looks thick. Cook until the potatoes are tender, about 20 minutes more.
Ideally, let the curry sit for at least 20 minutes before serving to allow the beef to soak in the curry flavor as it cools. Bring to a simmer before serving, and taste, adding more salt or fish sauce if desired. Stir in the yogurt. Serve with bowls of cilantro and lime wedges at the table.