In a deep skillet or Dutch oven over medium heat, saute onion in 1/3 cup oil. Add garlic, ginger, caraway seeds, cinnamon sticks, cardamon seeds, and bay leaves. Saute for 2 minutes until spices are fragrant. Mix in chili powder, cumin, coriander, curry powder, and garam masala and continue to saute for another 2 minutes. Add tomatoes and cook for several minutes until mixture forms a paste.
Add the chicken pieces to the pan and toss to coat in the spice mixture. Brown chicken pieces on one side for 2 minutes over medium low heat, careful to not burn spices. Flip and brown on the other side, careful to scrape up spice paste if it appears to be burning. Add milk and water to pan, stir, cover, and cook over medium-low heat for 45 minutes or until chicken is cooked through.
Remove pan from heat and let chicken sit for 30 minutes to absorb flavors from the spices. (If you wish, use tongs or a fork to remove bay leaves, cinnamon sticks, and cardamom pods from the sauce, since they aren't supposed to be eaten.) Chicken and sauce is delicious served with rice or potatoes. Makes 4-6 servings. Enjoy!