Make your marinade first by crushing the ginger and garlic into a paste. Combine it with the paprika, soy sauce and salt. Pour it into a bowl or a bag and add the chicken. Rub the chicken down with it. Marinade at least 1 hour.
Next, beat the egg in a wide bowl and stir in the corn starch and water to form a slurry. If needed, add a bit more water.
Heat 3 tablespoons vegetable oil in a large pan.
Dredge the chicken through the corn starch mixture, then fry the pieces in the oil until they crisp up, about 6-7 minutes. Remove the chicken and set aside for now.
Drain about half of the remaining oil from the pan, then add the onion, peppers and cashew nuts. Cook them down about 5 minutes to soften.
Add the garlic and ginger and cook another minute.
Stir in the tomato sauce, soy sauce, chicken stock, paprika, garam masala and sugar. Add salt and pepper to your personal tastes.
Cook, stirring often, over high heat, about 10 minutes, or until the sauce reduces. If it gets too thick, add a bit more stock.
Add in the cooked chicken and cook another couple of minutes, until the chicken is heated through and coated.
Garnish and serve!