Heat vegetable oil in a deep frying pan and add garlic and ginger. Cook until fragrant.
Add onions and stir until softened, then remove mixture to a platter.
Turn up heat and add more oil if necessary. Add chicken to the pan.
Leave chicken without stirring as long as possible to develop a brown crust, then stir briefly to brown other side.
Return garlic, onion and ginger mixture to the pan.
Stir in curry powder and cook for a few minutes to release flavors.
Add coconut milk and soy sauce, stirring to combine.
Add carrots and simmer for 5 minutes.
Add peas and simmer for another 5 minutes.
Add broccoli and tomatoes, bring back to heat and simmer 8-10 minutes until broccoli is bright green and vegetables are tender.
Serve immediately over steamed rice.