Heat milk in a sauce pan and bring it to boil.
When it comes to boil, add lemon juice or vinegar.
Stir well and simmer the flame. Heat further to curdle milk completely and let whey water separates with chhena / crumbled milk / paneer.
Put off the flame, for this add ice cubes (ice cubes are added to get those perfect texture) .
Take a strainer, line with a muslin cloth, pour the curdled milk and wash well with cold water to remove the sourness of lemon juice.
Squeeze out excess water, keep any heavy object on the chhena / paneer wrapped cloth and keep aside for about 30 minutes.
After 30 minutes, remove cloth and take out chhena .
Keep chhena / paneer on a wide plate. Make sure there is no moisture in the paneer.
Knead well to get smooth dough.
Make smooth balls of desired size and set aside. I got around 15 balls of medium size.
In a pressure cooker add water, sugar and cardamom powder bring it to boil.
Once sugar dissolves completely and sugar syrup starts to boil, add few drops of rose / kewra water (optional).
Add prepared balls carefully one by one.
Close the lid and cook for one whistle on a medium flame. Alternatively, cook in any pan on medium heat for about 12- 15 minutes with lid closed. Till rasgulla doubles in size.
After 1 whistle keep in simmer for 3-4 minutes and turn off the heat.
Allow pressure to release on its own. Once pressure is released open the lid, rasgulla's would have doubled in size.
Allow it to cool down completely.
Serve soft and spongy Rasgulla's chilled.