Making your own cream cheese is surprisingly simple. With just two ingredients and a little patience, you can make a rich, creamy spread perfect for bagels, toast, crackers, frostings, fillings, and more.

We love cream cheese on a warm bagel, but homemade spread also shines in frostings like chai cream cheese frosting, as a swirl in brownies, or as the base for no-bake mini cheesecakes. Its mild sweetness and buttery texture elevate both sweet and savory recipes.
If you enjoy homemade spreads, try making a mascarpone-style spread for a richer, Italian-inspired option.
Why You’ll Love This Homemade Cream Cheese
- Taste – Gently sweet and fresh-tasting.
- Texture – Smooth, creamy, and easily spreadable.
- Effort – Active time is minimal: about 5 minutes to heat the milk, 30–45 minutes to cool, plus 12 hours to strain.
Key Ingredients

- Non-ultra-pasteurized whole milk (or a mix of whole milk and heavy cream) – Use non-ultra-pasteurized dairy so the proteins remain intact and the milk will curd properly. This milk is pasteurized and safe to use but not ultra-pasteurized.
- Fresh lemon juice – The acid causes the milk to separate into curds and whey.
See the recipe card below for exact amounts.
Substitutions & Variations
- Fruit – Fold in mashed strawberries, blueberries, or other fruit for a sweet, fruity spread.
- Cinnamon – Add ground cinnamon for warm, cozy flavor.
- Lemon zest – Brighten the spread with lemon zest for extra citrus aroma.
- Savory mix-ins – After straining, stir in garlic powder, everything bagel seasoning, chopped fresh herbs, or other seasonings to create savory spreads.
How to Make Cream Cheese

- Heat the milk – In a medium, heavy-bottomed saucepan, warm the milk over medium heat to 180–185°F (82–85°C), stirring occasionally to prevent scorching.
- Add lemon juice – Reduce heat to low and whisk in the fresh lemon juice, then remove from heat. The milk will begin to separate into curds and whey.
- Allow to set – Let the mixture sit undisturbed for 30–45 minutes, or until it cools and thickens enough to coat the back of a spoon.
- Strain – Line a fine-mesh strainer with cheesecloth or a clean cotton towel over a large bowl. Pour the mixture into the lined strainer and refrigerate for 12 hours to overnight so the whey drains away and a creamy curd remains.
- Blend – If the strained curd is dense or slightly grainy, pulse it a few times in a food processor or blender until smooth. At this stage fold in any desired seasonings, sweeteners, or fruit.
- Store and enjoy – Transfer the finished cream cheese to an airtight container and refrigerate for up to two weeks.
Pro tip – Avoid overheating the milk; excessive heat can produce a grainy texture.
Other Tips
- If you don’t have a thermometer, heat the milk until it steams and small bubbles form around the pan edges.
- For a tangier spread, add a little more lemon juice, tasting as you go.
Cream Cheese FAQ
Strain it longer or blend the curd in a food processor or blender until silky.
Mascarpone typically has a higher fat content and a richer, creamier mouthfeel.

Related Recipes
-
Vanilla Mascarpone Frosting
-
Creamy Fig and Honey Mascarpone Tart
-
Chai Cream Cheese Frosting
-
Tomato Tartlets with Puff Pastry
Love This Cheese Recipe?
If you try this homemade cream cheese, leave a rating and comment to share how it turned out. Tag your photos with #theheirloompantry so others can see your creations.
📖 Recipe

How to Make Cream Cheese
Equipment
- 1 saucepan
- 1 thermometer
- 1 fine-mesh strainer
- 1 mixing bowl
- Cheesecloth or a clean kitchen towel
- Blender or food processor (optional)
Ingredients
- 1 pint non-ultra-pasteurized whole milk or a mix of whole milk and heavy cream
- 2 tablespoons fresh lemon juice
Instructions
-
Heat the milk – In a medium, heavy-bottomed saucepan, heat the milk over medium until it reaches 180–185°F (82–85°C), whisking occasionally to prevent scorching.
-
Add lemon juice – Reduce heat and whisk in the lemon juice. Remove from heat. The milk should thicken and begin to separate.
-
Allow to set – Let the mixture cool and sit undisturbed for 30–45 minutes.
-
Strain – Pour into a cheesecloth-lined strainer set over a bowl and refrigerate for 12 hours to overnight until whey drains away and a creamy curd remains.
-
Blend – If needed, pulse the curd in a food processor or blender until smooth. Fold in any desired flavorings.
-
Enjoy – Store in an airtight container in the refrigerator for up to 2 weeks.
Notes
- Avoid overheating the milk to prevent a grainy texture.
- If you lack a thermometer, heat until the milk steams and small bubbles appear at the edges.
- For tangier cream cheese, increase the lemon juice slightly to taste.
- Use non-ultra-pasteurized milk or cream so the proteins remain able to curd properly.