Heat the vegetable oil in a large pot over medium heat. Add the beef stew meat and brown it on all sides for about 5 minutes.
Stir in the diced onion, minced garlic, and grated ginger. Cook for 3 to 4 minutes until the onion softens.
Sprinkle the garam masala over the mixture and stir for 1 minute to toast the spices.
Pour in the diced tomatoes with their juices and the beef broth. Add the rinsed lentils and bring the pot to a simmer.
Cover and cook on low heat for 45 minutes, stirring occasionally, until the beef and lentils are tender.
Add the fresh spinach and stir until it wilts, about 2 minutes. Season with salt and black pepper to taste before serving.