Heat oil in a heavy-bottomed pot over medium-high heat. Fry chicken pieces until golden brown on all sides. Remove chicken and set aside.
In the same oil, add sliced onions, cinnamon stick, bay leaves, cardamoms, cloves, and black pepper pods. Sauté until onions are golden brown.
Add ginger paste and garlic paste to the pot and fry briefly for 1-2 minutes until fragrant.
Return chicken to the pot and stir in cumin powder, coriander powder, garam masala powder, salt, sugar, yogurt, heavy cream (if using), and green chilis.
Cover and simmer for 30-45 minutes, stirring occasionally, until chicken is tender and cooked through.
Finish by stirring in ghee and garnish with golden fried onions.
Let curry sit covered for 5-10 minutes before serving with basmati rice or naan.