Boil milk in a big pot. Make sure it doesn't burn underneath. Once the milk comes to a boil, lower heat and boil for another couple of minutes.
Mix 2 tbsp of water to freshly squeezed lemon juice. Slowly add the mixture to the boiling milk, stirring continuously. When milk starts to curdle stop stirring. Let it heat for 5 minutes on medium-low heat. Then switch of the gas.
Let the curdled mixture stand for 5 minutes undisturbed. Place a big sieve on a big vessel. Pour curdled milk to the sieve carefully.
After the mixture is transferred to the sieve, run the sieve under running tap water and carefully wash the chenna to get rid of any lemon residue. ( Rub chenna gently else it will break to granules and washed away). This step also helps chenna being overcooked from the heat with in.
Place the sieve back on the vessel and press chenna gently with tip of your hand to drain as much water as possible. Let it rest for another 30 minutes.
Alternatively after washing chenna sift it to a cheese cloth. Tie a knot, squeeze gently and hang in the kitchen counter for about one hour.
Mean while heat oil in a pan. Add 1 tbsp oil. When the oil is hot add boiled cubed potatoes. Let it cook for 2-3 minutes on medium-high heat undisturbed. Then turn and cook another side for 3-4 minutes. Fry it potatoes are golden in color. Remove and keep aside.
Add rest of the oil to the pan. When hot add whole garam masala. Let it splutter and aromatic.
Then add finely chopped onions. Add a pinch of salt to soften the onions fast. Fry for 5-6 minutes.
When onion starts browning add ginger-garlic paste. Fry till raw smell is gone.
Add chopped tomato. Cook till soft and mushy. Add all the spice powder except garam masala. Fry till everything is mixed well and oil starts to separate.
Add potatoes. Coat fried potatoes well with the mixture. Fry for another 5 minutes.
Add garam masala. Add enough water for the gravy.( I add roughly 3-4 cups of water. Keep in mind that after adding the chenna balls they soak up all the gravy). Cover and let it come to a boil.
While the gravy is boiling, in another pan add enough oil for deep frying. Let it heat.
Remove the chenna from cheese cloth and place in a vessel(By now chenna would have been dry enough and most of the water would have been drained)
Add sooji. Knead chenna with the heel of your palm till smooth and soft. Your hands should feel little greasy and when you form a ball there should not be any cracks.
Take ½ tbsp of chenna and make small ball. Slightly flatten it in between your palms. Repeat with rest of the chenna.
Add chenna balls to hot oil (not smoking hot) in batches. Don't over crowd the pan. When the chenna balls rises up and start to float lower the heat and let the balls cook on low heat undisturbed for 2-3 minutes.
Carefully turn each ball and let the other side cook till nice golden brown in color.
Remove the balls from oil using a slotted spoon and spread on kitchen tissue paper.
Repeat the process for rest of the chenna balls.
While frying the chenna balls the gravy would have come to a nice boil and would have thickened a little bit. Switch of the gas and keep aside.
If serving right away then add the balls to gravy. Let it cook for 5 minutes. Don't stir else they chenna balls will break. Serve immediately .
If not serving right away, re-heat the gravy just before serving, add chenna balls, cook for 5 minutes.