In a medium sauce pan, add enough water to fill it halfway and bring to a boil. Add half of the chopped onions and cook until soft. About 10-15 minutes or so. Drain the onions and puree until semi-smooth. This will be your onion paste, but you can set it aside for right now.
In a large skillet, under medium high heat, add the butter and melt. Once melted, add in the remaining onions, celery, and carrots. Reduce heat to medium-low and cook until vegetables are soft and starting to turn brown in color, about 10-15 minutes.
Meanwhile, you can make your curry paste. In a food processor, add ginger, garlic, curry powder, garam masala, tumeric, and about 1-2 tablespoons of water. Pulse to get a nice paste-like consistency. You may add more water if it is still too thick. Add paste to saucepan with vegetables and stir for about 2-3 minutes.
Add in chicken and coat well with mixture.
In a medium bowl, mix yogurt, tomato paste, onion paste, and chicken stock. Mix until tomato paste is dissolved. Then add mixture to pan with vegetables and chicken. Mix well and simmer for about 15 minutes and chicken is cooked all the way through.
I served this with some red rice and it was phenomenal. You could sense the onion flavor, but it wasn't too much. The curry really mellowed the onion out. It was definitely sensationally delicious and great the next day! Enjoy!