In a large bowl, add the beef cubes and season with 1 teaspoon of the salt and the pepper. Toss gently to thoroughly coat.
Heat a large skillet over medium-high heat.
Add the oil to the hot skillet, swirling to coat, and heat until it is hot and shimmery.
Add the seasoned beef cubes to the hot oil and sauté until they are browned on all sides, about 6 minutes. It is okay for them not to be cooked through.
Transfer the browned beef to a plate. Do not drain the skillet.
Reduce the heat to medium.
Add the onion to the same skillet and cook, stirring frequently, until it has browned and caramelized, about 15 minutes. Be careful not to burn it.
Add the garlic to the onion and stir to incorporate. Cook until the garlic has softened, about 2 minutes.
Add the garam masala, the cumin, the paprika, the turmeric, the ground mustard, the cayenne, the ground ginger, and the cinnamon to the onion mixture and stir until the spices are incorporated and fragrant, about 1 minute.
Add the tomato paste to the spice mixture and stir until it is fully incorporated.
Pour the apple cider vinegar into the spice mixture and cook, stirring constantly, while scraping up any of the browned bits at the bottom of the pan, about 2-3 minutes.
Pour 1 cup of the beef stock into the sauce mixture and gently stir to incorporate.
Add the browned beef cubes to the sauce and cook until the liquid begins to boil.
Reduce the heat to medium-low.
Cover the skillet with the lid and simmer the beef mixture, occasionally stirring the sauce and flipping the beef, until the beef reaches an internal temperature of at least 145 degrees F and the sauce has thickened, about 1 hour. If the sauce becomes too thick, add 1-2 tablespoons of the extra beef stock and stir to combine after each addition.
Taste the sauce and adjust with the salt as needed.
Transfer the skillet from the heat.
Serve the beef over the rice with the naan, topped with dollops of the yogurt.