This easy homemade cream cheese recipe uses just three ingredients — whole milk, citric acid, and salt — to create a rich, creamy spread that's the perfect companion to any of my popular homemade bagel recipes. You can also use this to make my easy homemade scallion cream cheese! Yield: 12 ounces cream cheese.
In just about an hour, you'll be enjoying fresh, delicious cream cheese and marveling at how easy it was to make. And while this cream cheese recipe is written to use a food processor, you can also use a hand mixer, blender, or immersion blender instead!
Jump to:
About This Recipe: Homemade Cream Cheese
This homemade cream cheese is one of the easiest cheeses to make at home. The process is very similar to my fresh homemade goat cheese recipe in that it uses citric acid to separate the cheese curds and whey. But making cream cheese is a lot faster than goat cheese, and you can use whole cow's milk which is much easier to find at the grocery store.
While there are many different cream cheese recipes out there, I wanted mine to use as few ingredients as possible. During recipe development, I experimented with using a mix of heavy cream and whole milk, but those batches just never firmed up to the right texture. I didn't want to mess around with special cheese cultures or rennet that you have to order online, either.
So the final version of this cream cheese recipe uses just three ingredients: Whole milk, citric acid, and salt. Okay, four ingredients if you count water.
(Technically without a special cheese culture or rennet, this isn't a "true" cream cheese, but it does taste the same and have the same consistency, so it will do just fine for our purposes. Without the rennet, I think it's technically a mascarpone cheese, but mascarpone tends to have a higher fat content and richer, creamier texture, so, yeah. Cream cheese it is. Just know if any cheese expert argues with you that it's not really a cream cheese, chances are they're right and this isn't a hill you want to die on.)
Ingredient Notes
Here are the four ingredients you need to make homemade cream cheese using citric acid. See recipe card (at the end) for quantities.
- Whole Milk - This recipe for homemade cream cheese is made from pasteurized whole milk. Using lower-fat milk means you'll end up with a lot less cream cheese!
- Water - For dissolving the citric acid before adding it to the milk.
- Citric Acid - The key ingredient that will encourage the milk to separate into curds and whey. It can usually be found with the canning supplies, though it can also sometimes be found near the instant pudding/jello mixes, spice aisle, or baking aisle. You can also order citric acid online.
- Salt - I use Diamond Crystal Kosher Salt which is half as salty as other brands and types of salt. If you're using a different brand of salt, even a different brand of kosher salt, cut the amount of salt in half to start. You can always add more if you think it needs it.
Yes, some people use lemon juice or vinegar to make cheese instead of citric acid, but when I tried using them in this recipe I found they left an unpleasant flavor in the cheese so I stuck with the citric acid method instead.
Equipment Notes
Here is the equipment I use when making cream cheese. You don't need to have all of these exact things, as long as you have equipment that will serve similar functions!
- A 3-6 quart pot - You need a pot made from a non-reactive metal (basically not copper or aluminum) that can hold at least a ½ gallon of milk deep enough for your thermometer to work. I usually use a 3-quart cast iron enamel dutch oven, but a stainless steel sauce pot works just as well and will heat up faster too.
- Thermometer - A clip-on candy thermometer works well for this, but I usually end up using a more reliable Thermapen instant-read thermometer to double-check, just in case the candy thermometer is moving a bit slow.
- Large flour-sack style dish towel - One of those thin, linen dish towels (like these chef-favorite kitchen towels). Do not use a terrycloth or textured towel. Cheesecloth can work here too, but I find it's a bit too fiddly and flimsy even when I layer it. You do you!
- Large colander: The colander should be big enough to hold a half-gallon of milk and comfortably sit inside the bucket, without touching the bottom. A large wire mesh strainer will also work.
- Large bucket or deep mixing bowl - I use a 2- or 6-liter Cambro bucket, but you'll need one that holds at least 3 liters and has a wide enough mouth to fit the colander without the bottom of the colander touching the liquid whey.
- Food processor - I use a 5-cup cordless mini food processor to make this cream cheese, but you can use a full-size food processor too. This will blend the soft curds into a creamy, spreadable cream cheese.
Instructions
Are you ready to learn how to turn whole milk into cream cheese using citric acid? Let's get to it!
First, let the milk sit out for 30-60 minutes before starting. The warmer the milk is at the start, the faster it will reach the right temperature.
Pour the milk into the pot over medium heat. Make sure the bottom of the thermometer is submerged in the milk.
Next, stir together the water and citric acid to dissolve the citric acid. Set it aside until later.
Keep stirring until the milk reaches 185°F, about 30-ish degrees below boiling temperature. At this temperature the milk is considered "scalded". The proteins are denatured and the whey is weakened, making it easier for the curds and whey to separate. Visually, you'll be able to tell the milk is approaching or at the right temperature because lots and lots of bubbles will form a foam-like ring around the surface of the milk where it meets the pot.
Depending on the type of pot you're using, how cold the milk was when you started, or what kinds of burners you have, this can take anywhere from 15-30 minutes.
When the milk reaches 185°F, pour the water and citric acid into the milk and stir gently. You'll see the curds and whey separate pretty much immediately. Remove the pot from the heat and let it sit untouched for 5 minutes.
You are now ready to strain the curds (the part you want to eat!) from the whey (the yellow-green liquid you should save to use when making bread!).
Straining Cream Cheese
While the pot is resting off heat, set up your cheese straining station. The colander goes inside the bucket, the towel goes inside the colander. Tuck the ends of the towels through the handles of your colander to hold them in place while the cheese drains. Use the clips to secure the ends of the towel if needed.
Slowly pour the milk into the towel inside the colander. I say slowly because you may need to pause and adjust the towel or colander as you pour.
Then, pull the towel through the handles and either knot the edges or use the chip clips to hold it in place as best you can.
Basically, just do your best to pull the top of the towel taught to create a suspended hammock shape inside the colander.
After about 10 minutes, scrape down the cheese that's collected on the sides of the towel. Gather the edges of the towel together, so it creates a tighter bag around the cheese inside inside the colander.
Gently twist the towel above the ball of cheese to express a little more whey. Don't squeeze too much; you don't want to press any curds through! Gravity will do most of the work separating them here.
There are a lot of different ways to create this suspended bag within the colander. You can clip the twisted end of the towel to one side of the colander and tilt the colander over the bowl so the bag can hang. Or you can clip the ends of the towel around the handle a spoon and let it hang to continue straining (I have yet to figure out how to do this, so good luck to you!). Or, you may figure out a new and different way to do it that works with what you have in your kitchen (let me know in the comments)!
After 30 minutes, open the dish towel and scrape the cheese down into the middle. It will still look a little rough. If it still seems quite wet, give it another 10-20 minutes to strain.
Tip the curds out of the towel and into the bowl of a food processor. Add the salt and process until the cheese is smooth and creamy. This takes longer than you think — about 3 minutes total of processing, in 20-30 second bursts.
If after a minute and a half, the cream cheese still looks or feels grainy, add some of the warm strained-out whey ¼ teaspoon at a time, blending well after each addition until it smooths out.
Taste the cream cheese and blend in more salt if you think it needs it.
Don't expect your cream cheese to have that perfect firm-yet-spreadable texture just yet. It will likely be a bit looser — kind of like microwaved cream cheese. You can use it right away, for sure. But once it has time to chill in the fridge for about an hour or two it will firm up and have that cream cheese texture you're used to!
Storage Notes — Can You Freeze Cream Cheese?
Store homemade cream cheese in an airtight container in the fridge for up to 1 week. Press a sheet of plastic wrap against the surface of the cheese inside the container to prevent air from drying it out.
While some people will tell you that you can, I don't recommend freezing cream cheese. It changes the texture just enough that I find it unpleasant to eat without running it through a food processor again, which I don't usually want to do.
If you do want to freeze your homemade cream cheese, press a sheet of plastic wrap firmly against the surface in an airtight container. It will stay good in the freezer for about 3 months. Defrost in the refrigerator overnight, run through a food processor or re-whip with a mixer before serving. Once defrosted it will be good for about a week in the fridge.
As always, mold is a sure sign that your cream cheese has gone bad. If it's moldy, don't eat it!
Practical Tips and Recipe Notes
- You can add any flavors you like to the cream cheese once you've processed it a bit in the food processor. You want to make sure the curds are the right nice smooth texture before you add anything else to the mix. After that, you can add carrots, veg, herbs, sun-dried tomatoes, scallions, onions, bacon, maple syrup, etc. Remember: Wet or oily ingredients will change the cream cheese texture, so blot them dry before adding!
- Save the whey when you strain the cheese curds! You can use whey instead of water (as a 1 to 1 replacement, no conversions needed) in any bread recipes. It adds a bit of a sour tang and makes the bread flavor pop. It's hard to describe just what it does as a flavor, but it's like bread flavor, only... breadier. Bread squared, if you will. It also helps produce a slightly more soft and tender loaf of bread. I've used it in everything from my New York-style overnight bagels to my crusty no-knead bread. It also freezes well if you aren't ready to bake with it right away.
Recipe FAQ
I haven't tested this, but I'm always wary of using raw milk to make cheeses because of bacteria! Proceed at your own risk!
Yes! You'll want to layer it over itself 5 or 6 times first so that it is fine enough to actually catch the curds instead of letting them drain through. Cheesecloth is very delicate, so be careful as you twist or clip it in place that it doesn't tear.
📖 Recipe
How to Make Homemade Cream Cheese with Citric Acid
Equipment
- Heavy bottomed, non-reactive pot
- Food processor (minimum 5 cup capacity)
Ingredients
- ½ gallon whole milk (1.9 liters)
- 60 grams water
- 2 teaspoons citric acid
- 1 teaspoon diamond crystal kosher salt (use half as much of any other type of salt)
Instructions
- Combine citric acid and water in a small bowl and stir to dissolve. Pour whole milk into non-reactive pot, with thermometer attached, over medium to medium high heat.
- Continue stirring every few minutes until the milk reaches 185°F and lots of small bubbles form around the edge of the pot. This can take anywhere from 10-15 minutes, depending on your pot.
- When the milk mixture reaches 185°F, stir in the citric acid and water mixture. The curds and whey will separate almost immediately. Remove the pot from the heat and let it stand for 5 minutes.
- Meanwhile, set up your straining system. Line a large colander with a clean flour-sack dish cloth, and tuck the edges of the cloth through the handles of the colander or clip them in place. Put the colander over a large bowl or bucket to collect the whey — you'll need it later.
- Slowly pour the milk into the towel-lined colander. If you have a smaller colander or smaller towel, you may need to pour in batches.
- Gather the towel tight through each handle of the colander to create as much of a taught, bag-like shape as you can, with the towel suspended inside the colander. Use clips or knot the towel to hold it in place. Let the cheese strain for 25-30 minutes, gently scraping down the sides of the towel and stirring the curds in the towel about halfway through.
- Transfer the strained cheese curds to a food processor along with the salt. Process on high speed in 20-30 second bursts for about 3 minutes total, pausing to scrape down the sides between each burst. If the cheese is looking gritty, add some of the reserved whey a ¼ teaspoon at a time to help the cream cheese smooth out.
- Scoop the cream cheese into an air tight container. Refrigerate for at least 1 hour or until firm before use.
RECIPE NOTES
- Kept refrigerated, homemade cream cheese will stay good for up to 1 week. Press plastic wrap against the surface of the cheese to keep it fresh.
- If adding any flavors to your cream cheese, make sure they are clean and dry first. Add them after blending the cream cheese to a smooth consistency.
Milo
This recipe resulted in cream cheese with an impressively smooth texture. However, I found the flavor to be quite tart and saltier than I prefer. The taste of citric acid is prominent in the final product, and reminds me somewhat of Tajin, but with a milky quality and without the chili taste.
I'm hesitant to retry this because reducing the citric acid might affect the curdling process, which is essential for this recipe.
Those who enjoy tangier, more pronounced flavors in their cream cheese might appreciate it more than I did.
Rebecca Eisenberg
Thank you for the feedback! It's interesting to me that you found it much tangier than store bought cream cheese, as I found it was a more mild flavor than store bought. You can absolutely reduce the salt to better suit your taste, however!