Creamy Baked Spinach Artichoke Dip Recipe

Most restaurant versions of spinach artichoke dip spend hours in a steam warmer and arrive lukewarm, with a rubbery skin on top and a thin, separated layer at the bottom. This version comes out of the oven after 25 minutes with a spotted golden crust and a thick, creamy center that holds its shape from first chip to last scoop.
There are two things that determine whether this works. The cream cheese needs to be genuinely soft before you start, not slightly soft, so it mixes lump-free. And the frozen spinach needs to be wrung completely dry in a kitchen towel until the fabric comes away clean. Leave water in the spinach and the whole dip loosens and separates. Get both of those right and the rest is straightforward.
Why You’ll Love This Spinach Artichoke Dip
- Bakes in 25 minutes and stays hot and scoopable on the table for 15 to 20 minutes with no warming dish
- Three cheeses (cream cheese, Parmesan, and mozzarella) give it actual flavor depth, not just meltiness
- Artichoke hearts go in roughly chopped so they stay as distinct chunks in every scoop
- Everything mixes in one bowl with zero stovetop work
- The whole thing can be assembled up to 24 hours ahead and baked when guests arrive
Ingredients You’ll Need
All the ingredients for this spinach artichoke dip are available at any standard grocery store. The only one to watch is the artichokes: use hearts packed in water, not the marinated variety packed in oil and vinegar.
For the Dip
- 225g (8 oz) full-fat cream cheese, softened to room temperature. Structural base of the dip. Low-fat versions release extra water during baking and loosen the texture.
- 120g (½ cup) full-fat sour cream. Adds tang and keeps the base silky enough to scoop cleanly.
- 60g (¼ cup) mayonnaise. Prevents the dairy from drying out or seizing at oven temperature.
- 2 garlic cloves, finely minced. Raw garlic holds a sharper flavor through the bake, which cuts through the richness of the cheese.
- 280g (10 oz) frozen chopped spinach, thawed and squeezed completely dry. Must be bone dry before it goes into the bowl. See Step 1 for exactly how to do this.
- 400g (14 oz) canned artichoke hearts in water (not marinated), drained and roughly chopped. Marinated artichokes are packed in oil and vinegar, which thins the dip and makes the flavour sharp and one-note.
- 50g (½ cup) finely grated Parmesan. Salty and nutty. This is the flavour backbone of the dip.
- 80g (¾ cup) shredded low-moisture mozzarella, divided. Half goes into the base for creaminess; the other half goes on top to form the golden crust.
- ½ tsp fine sea salt
- ¼ tsp ground black pepper
- ¼ tsp onion powder
Recipe Timing
| Timing Element | Duration |
|---|---|
| Prep Time | 15 minutes |
| Cook Time | 25 minutes |
| Rest Time | 5 minutes |
| Total Time | 45 minutes |
Servings: 8 | Difficulty: Easy | Cuisine: American | Course: Appetizer

How to Make Spinach Artichoke Dip: Step by Step
Step 1: Squeeze the spinach dry
Place the thawed spinach in the center of a clean kitchen towel. Gather the corners of the towel, twist it shut around the spinach, and wring it firmly over the sink. Work in sections, re-twisting and squeezing several times, until no water drips from the cloth. The spinach should compact down to roughly half its original thawed volume.
Why this works: Fully thawed frozen spinach still holds 3 to 4 tablespoons of water. Any water left in the spinach goes directly into the baking dish and thins the entire dip by the time it reaches the table. This single step is the difference between a thick, scoopable dip and a runny one.
⚠️ Food Safety: Thaw frozen spinach in the refrigerator overnight or under cool running water. Do not leave it at room temperature for more than 2 hours before using. For USDA guidelines on safe thawing practices, see FoodSafety.gov.

Step 2: Mix the cream cheese base
Preheat your oven to 190°C (375°F). Add the softened cream cheese to a large mixing bowl and beat it with a wooden spoon or hand mixer for about 1 minute until smooth and free of lumps. Add the sour cream, mayonnaise, minced garlic, salt, black pepper, and onion powder, then stir until everything is evenly combined.
Why this works: Beating the cream cheese alone first removes lumps before the other ingredients go in. If you add everything at once, firm spots in the cream cheese stay as white streaks that won’t smooth out during baking.
Step 3: Fold in the vegetables and cheese
Add the squeezed spinach and chopped artichoke hearts to the bowl. Fold them in with a silicone spatula, keeping the artichoke pieces as intact as possible rather than breaking them down. Stir in the Parmesan and 40g (half) of the shredded mozzarella until evenly distributed.

Step 4: Spread into baking dish and top with cheese
Spread the mixture into a 20x20cm (8×8 inch) baking dish or a 1-litre oven-safe dish, smoothing it into an even layer with the spatula. Scatter the remaining 40g of mozzarella evenly over the surface.
Why this works: Reserving half the mozzarella for the top creates a separate layer that browns and crisps under the direct oven heat, giving you a golden, slightly crisp crust on top and a creamy interior underneath.
Step 5: Bake until golden and bubbling
Bake at 190°C (375°F) for 22 to 25 minutes, until the edges are actively bubbling and the mozzarella shows golden-brown spots across the surface. If the cheese looks pale at the 25-minute mark, switch the oven to broil for 2 to 3 minutes and watch it closely.
Step 6: Rest before serving
Remove the dish from the oven and let it sit undisturbed for 5 minutes. The dip will be extremely hot straight from the oven. Resting lets it firm up slightly, which makes it easier to scoop cleanly rather than running off the chip.

Common Mistakes to Avoid
Not squeezing the spinach dry enough. This is the most common reason spinach artichoke dip turns out watery. Most people give it one quick press and move on. You need to wring the spinach in stages until the kitchen towel comes away with nothing on it. Even one tablespoon of residual water separates from the dairy during baking and pools at the bottom of the dish.
Using marinated artichoke hearts. Artichokes packed in seasoned oil and vinegar are too acidic and oily for this recipe. The oil separates from the dairy base during baking and rises to the surface. The flavor also overwhelms everything else. Use only artichoke hearts packed in plain water.
Cold cream cheese. Cream cheese straight from the fridge is too firm to mix smooth and leaves lumps that survive baking and show up as white streaks in the finished dip. Thirty minutes on the counter is enough to soften it properly before you start.
Baking too long. Pull the dip as soon as the edges are bubbling and the top is golden. Past 30 minutes, the dairy starts to separate slightly and the edges become grainy. Set a timer at 22 minutes and check from there.
Variations and Substitutions
Without mayonnaise: Replace the ¼ cup of mayonnaise with an equal amount of full-fat plain Greek yogurt. The dip will be slightly tangier and a touch less rich, but it bakes and holds together well. Avoid light or fat-free yogurt; both add water to the mixture.
With jalapeño heat: Stir 1 to 2 teaspoons of finely chopped pickled jalapeño into the mixture at Step 3. The heat cuts through the dairy richness without making this a spicy dip.
Lighter version: Swap full-fat cream cheese for Neufchâtel (one-third less fat) and use light sour cream. The texture is slightly less thick but still holds up well for dipping. Do not use fat-free versions of either; they add too much water.
What to Serve With Spinach Artichoke Dip
Spinach artichoke dip works with most dippers, but chip thickness matters. Thin crackers and light chips snap off in the dip, so go for something sturdier.
Toasted pita triangles: A light char on grilled pita adds flavor and makes it firm enough to carry the thick dip without snapping.
Restaurant-style tortilla chips or scoop-shaped chips: Thicker chips hold up better and carry more dip per scoop.
Toasted sourdough baguette slices: Toast them first so they stay firm rather than going limp immediately under the warm dip.
Raw vegetables: Bell pepper strips, cucumber rounds, and celery work well if you want something lighter and crunchy alongside the chips.
Bread bowl: A round sourdough cob loaf hollowed out is good for serving at the table. Fill it just before serving to prevent the inside from going soggy.

Storage, Reheating and Make-Ahead
Fridge: Transfer leftover spinach artichoke dip to an airtight container or cover the baking dish tightly with plastic wrap. It keeps for up to 4 days. The dip firms up in the fridge; that is normal and it loosens again when reheated.
Reheat: Place in the oven at 175°C (350°F), covered with foil, for 10 minutes. Remove the foil and bake for another 3 to 5 minutes to re-melt and lightly crisp the cheese top. For individual portions, the microwave works in 30-second increments with stirring between each, but you won’t get the cheese top to re-crisp that way.
Freezer: Freeze the dip assembled but unbaked, wrapped tightly in two layers of plastic wrap and then foil, for up to 2 months. Thaw it overnight in the refrigerator, then bake as directed, adding 5 to 8 minutes to the bake time. The baked-then-frozen version also works but the texture softens slightly on reheating.
Make-ahead: Mix the dip up to 24 hours in advance and spread it into the baking dish. Cover tightly and refrigerate. Add the mozzarella topping right before baking, not in advance, so it doesn’t absorb moisture from the cold dip. Bake straight from the fridge and add 5 extra minutes to the total bake time.
Allergen Information
Contains dairy (cream cheese, sour cream, mozzarella, Parmesan). To make this dairy-free, try substituting a dairy-free cream cheese and dairy-free sour cream, and use a shredded dairy-free mozzarella alternative. The texture and flavour will differ from the original version.
Contains eggs (mayonnaise). To make this egg-free, replace the mayonnaise with full-fat plain Greek yogurt or a dairy-free yogurt alternative.
Nutrition Information
Per serving (based on 8 servings; dip only, not including chips or bread)
| Nutrient | Per Serving |
|---|---|
| Calories | 235 kcal |
| Protein | 9 g |
| Total Carbohydrates | 6 g |
| Dietary Fiber | 3 g |
| Total Sugars | 2 g |
| Total Fat | 22 g |
| Saturated Fat | 10 g |
| Sodium | 560 mg |
| Cholesterol | 52 mg |
| Potassium | 195 mg |
| Calcium | 195 mg |
| Iron | 1.3 mg |
Nutritional values are estimates only and may vary based on specific ingredients, brands, and portion sizes used. For precise dietary needs, consult a registered dietitian.
For general guidance on how dairy contributes to daily calcium and fat intake, see the NIH Office of Dietary Supplements.
Frequently Asked Questions
How do I keep spinach artichoke dip from getting watery?
The main cause is spinach that wasn’t squeezed dry enough. Wring the thawed spinach in a kitchen towel repeatedly, not just once, until no more water drips from the cloth. Using marinated artichoke hearts (packed in oil and vinegar) also adds liquid. Stick to plain artichoke hearts in water, drain them well, and you’ll avoid the problem.
Should I use fresh or frozen spinach?
Frozen works better here because it’s pre-blanched and much easier to squeeze dry in bulk. If you prefer fresh, wilt about 400g of baby spinach in a dry pan over medium heat for 3 to 4 minutes, let it cool completely, then wring it out the same way you would thawed frozen spinach.
Can I make spinach artichoke dip ahead of time?
Yes. Assemble the full mixture up to 24 hours in advance, spread it into the baking dish, and refrigerate it covered. Add the mozzarella topping right before baking, not overnight, and add 5 extra minutes to the bake time since it’s starting from cold.
Can I make this without mayonnaise?
Yes. Replace the mayonnaise with an equal amount of full-fat plain Greek yogurt. The dip will be slightly tangier and a touch less rich, but it bakes well and holds its texture throughout.
How long does leftover dip keep in the fridge?
Up to 4 days in an airtight container. After that, the dairy degrades in both flavour and texture, and the spinach takes on an off smell.
Can the dip be frozen?
Yes, and it freezes best before baking. Wrap it tightly and freeze for up to 2 months, then thaw it overnight in the fridge before baking. The baked-then-frozen version works too but thaws to a slightly softer texture.
What is the best way to reheat it without drying it out?
Reheat covered with foil at 175°C (350°F) for 10 minutes to keep the interior moist, then uncover for the last 3 to 5 minutes to get the cheese top back to a properly melted consistency. The foil is what prevents it from drying out.
Conclusion
This spinach artichoke dip comes down to two things done well before the dish ever goes in the oven: completely dry spinach and cream cheese soft enough to mix smooth. Get those right and the rest takes care of itself. The dip bakes up thick, stays scoopable on the table, and reheats just as well the next day. If you’re making it for a gathering, mix the base the night before, cover the dish, and refrigerate it. Add the mozzarella on top right before it goes in the oven, and 30 minutes later you have a hot, golden-crusted dip with almost no day-of prep.
Spinach Artichoke Dip: Recipe Card

Creamy Baked Spinach Artichoke Dip
Ingredients
Method
- Place thawed spinach in a clean kitchen towel and wring firmly over the sink, working in sections, until no water drips from the cloth and the spinach is completely dry.
- Preheat the oven to 190°C (375°F). Beat the softened cream cheese in a large mixing bowl for 1 minute until smooth and lump-free. Add the sour cream, mayonnaise, garlic, salt, pepper, and onion powder. Mix until evenly combined.
- Fold in the squeezed spinach and chopped artichoke hearts with a silicone spatula, keeping artichoke pieces intact. Stir in the Parmesan and 40g (half) of the shredded mozzarella.
- Spread the mixture evenly into a 20x20cm (8×8 inch) baking dish. Scatter the remaining 40g of mozzarella over the surface.
- Bake for 22 to 25 minutes until the edges are bubbling and the mozzarella top shows golden-brown spots. For more colour, broil for 2 to 3 minutes and watch closely.
- Rest for 5 minutes before serving.
