Rinse the basmati rice under cold water until the water runs mostly clear, then soak for 20 minutes. Drain well before cooking.
In a bowl, combine yogurt, ginger, garlic, garam masala, cumin, coriander, paprika, turmeric, chili powder, salt, and pepper. Add chicken and coat thoroughly; let marinate at least 15 minutes.
Heat oil in a large skillet over medium heat. Cook sliced onions until deep golden brown and slightly crisp at the edges, about 8–10 minutes. Remove half for layering later.
Add the marinated chicken to the skillet with remaining onions. Cook 8–10 minutes until the chicken is mostly cooked and coated in thick, fragrant sauce.
In a separate pot, bring 4 cups water to a boil. Add drained rice and cook for 5–6 minutes until about 70% cooked (the grains should still have a firm center). Drain immediately.
In a heavy-bottom pot, spread half the rice evenly, then layer all the chicken mixture. Top with remaining rice, reserved fried onions, cilantro, mint, and lemon juice.
Cover tightly with a lid and cook on very low heat for 15–20 minutes. The rice should be fluffy and fully tender, and steam should escape when you lift the lid.
Let rest off heat for 5 minutes, then gently fluff with a fork, mixing layers slightly without mashing the rice. Serve hot.