Cut your chicken into 1-inch bite-sized pieces so they cook evenly and fast. Pat them dry with paper towels—this helps them get a tiny bit of color when you sear them. Don't panic if they don't brown deeply; you're not going for a golden crust here, just a light sear that takes about 3 minutes.
Heat 1 tablespoon oil in a large skillet over medium-high heat. Add the chicken pieces and cook for about 3-4 minutes, stirring occasionally until they're mostly cooked through. Transfer the chicken to a plate and set aside (yes, it'll look a little pale, and that's totally fine).
In the same skillet, add 1 tablespoon butter and the diced onion over medium heat. Cook the onion for 4-5 minutes until it's soft and turning translucent, stirring every minute or so. This is your flavor base for the whole sauce, so don't rush this part.
Add minced garlic and ginger paste, stirring constantly for about 60 seconds until the kitchen smells amazing. Then add tomato puree and stir well to combine everything into a thick paste. Let it cook for 2-3 minutes, and you'll see it darken slightly and smell even better.
Whisk together the yogurt, cream, garam masala, cumin, coriander, turmeric, sugar, and salt in a bowl before adding to the skillet. Pour it slowly into the sauce while stirring so you don't get lumps (trust me on this). Add 1/4 cup water and bring everything to a gentle simmer.
Return the chicken to the skillet and stir it into the sauce. Simmer for 8-10 minutes on medium heat, stirring occasionally, until the sauce thickens and the chicken is cooked through. The sauce should coat the chicken nicely but still be pourable—not clumpy.
Finish with 1 tablespoon lemon juice and fresh cilantro, then taste and adjust salt or lemon if needed. Butter chicken family easy tastes better when you season it to your own preference, so don't skip the tasting step. Serve immediately over rice, naan, or whatever you've got handy.