Heat the milk: Pour milk into a heavy-bottomed pot and heat over medium-high heat, stirring to prevent scorching. Bring to a gentle boil.
Rest the milk: Remove the pot from heat and let it sit undisturbed for 1–2 minutes.
Add the acid: Stir in vinegar or lemon juice gently—just 1–2 slow stirs. Avoid overmixing to keep curds intact.
Separate curds and whey: Milk should curdle immediately. If whey is still milky, add vinegar 1 Tbsp at a time. Let it sit 10 minutes.
Drain the curds: Line a colander with cheesecloth (or cotton/muslin towel) and set over a bowl. Gently transfer curds and pour whey over to help drain.
Initial draining: Let curds drain for 10 minutes.
Add salt & flavorings: Sprinkle salt over warm curds. You can also add your favorite chopped herbs at this point.
Mix gently: Fold salt and herbs evenly with a fork without breaking curds.
Prepare to press: Line a small sieve with cheesecloth (or use a small cheese mold). Transfer curds into it.
Press the paneer: Fold cloth over curds, place a plate on top, and weigh with a can or jar. Press 30–60 minutes until firm.
Unmold and store: Carefully unwrap the paneer. Chill 30–60 minutes before slicing for cleaner cuts. When storing the paneer in the refrigerator, keep it covered to prevent drying.