Finely chop the onion, ginger and garlic in a food processor or with a large knife. Heat the oil in a medium saucepan, add the chicken and fry for 5 minutes, stirring until lightly browned. Stir in the chopped onion mix and fry for 2–3 minutes until softened.
Stir in the spices and chillies and cook for 1 minute, then mix in the tomatoes and stock. Bring to the boil, then cover and simmer for 30 minutes, stirring occasionally.
Tear the coriander into pieces, add to the balti and cook for 1 minute, then spoon into bowls. Garnishing with the toasted almonds, serve with rice and naan bread.