Rinse the basmati rice under cold water until the water runs clear. Place it in a medium saucepan with 2 cups of water and a pinch of salt. Bring to a boil, then reduce heat to low, cover, and simmer for 15 minutes until tender. Remove from heat and let it rest covered.
Heat the oil in a large skillet over medium heat. Add the diced onion and cook for 5 minutes until softened and lightly golden.
Stir in the minced garlic and ginger. Cook for 1 minute until fragrant.
Add the ground beef to the skillet. Break it up with a spoon and cook until browned, about 6 to 7 minutes.
Sprinkle in the cumin, coriander, turmeric, garam masala, chili powder, and salt. Stir well to coat the beef evenly.
Add the chopped tomatoes and cook for 3 minutes until they start to break down and form a sauce.
Stir in the frozen peas and simmer for another 4 minutes until the peas are heated through and the curry thickens slightly.
Fluff the cooked rice with a fork. Serve the beef keema curry over the rice and top with chopped cilantro.