Heat water in a pot. Pour salt and ginger-garlic paste. Bring it to a boil. Turn the heat down to a gentle simmer. Then add the chicken pieces. Poach for 10 to 15 minutes.
Scoop the chicken out of the water and allow it to cool down. Strip the chicken into long thin pieces.
Heat oil in a pan. Add the onion. Fry for a few minutes on medium flame.
Cover with a lid. Lower the flame. Cook for 5 minutes or until the onions are soft.
Add chicken masala, black pepper, and salt. Give it a nice mix.
Then add the shredded chicken. Mix everything together.
Cook for a minute and then remove from flame. Keep it aside.
Heat another pan and add butter. Once it melts, add all-purpose flour. Whisk the butter and flour together. Cook till it is smooth and foamy.
Pour the milk and mix everything with a whisk. Make sure there are no lumps. Increase the flame and allow the milk to come to a simmer.
Keep whisking until it thickens up.
Lower the flame and stir in the grated mozzarella cheese.
Once all the cheese melts, add salt and black pepper.
Turn the heat off and add the cooked chicken to the sauce. Mix everything together.
Apply butter on the bread slices. Spread the chicken mixture over one slice and cover with another slice. Heat a pan over medium flame, place the chicken sandwich and slightly press it. Toast both sides till golden brown in colour.
Serve them hot with tomato ketchup.