Cheesy, peppery, and perfectly al dente cacio e pepe with fried shallots is one of my all-time favorite pantry staple meals. It uses just a few ingredients but has a ton of flavor for a cozy pasta night.

An overhead view of three bowls of pasta on a grey table surrounded by a dark green linen, a glass of white wine, and a bowl of fried shallots.
A side shot of a white bowl of pasta on a grey background, surrounded by more bowls, a green linen, a bowl of fried onions, and a glass of wine.

So far this week, I have done enough squats for my legs to turn into jelly, planned (but not yet planted) a small front-porch garden, and made a Sunday dinner consisting of leftover Easter brunch cinnamon rolls and chicken with brown rice and veggies. I even *meal prepped* and took a two-hour nap which, for me, is unheard of. The line between productivity and self-annihilation is thin, but it is one I’m willing to ride out.

Anyways, I know it’s important to stay healthy right now, so we’ve been eating lots of veggies and working out every (week)day. But sometimes, things still feel a bit overwhelming, yes? And we must indulge ourselves with self-care and comfort food akin to mac and cheese! And that, my friends, is when we put on cashmere drawstring sweatpants and make cacio e pepe!

What is cacio e pepe?

Cacio e pepe is a Roman pasta dish that literally translates to “cheese and pepper”, a.k.a. two perfect ingredients. It’s made up with only the most basic pantry staples: pasta, black pepper, and Pecorino Romano cheese, and it’s pronounced “ka-chee-oh eh peh-peh” (which borderline reminds me of Lightning McQueen, but let’s not go there). Think of it as adult mac and cheese, but without all the fancy stuff that comes in “adult” mac and cheese recipes, like gruyere or prosciutto or spring peas. It really is the most basic of dishes but it’s a dream of a comfort food. And in this version, we take it up a notch with fried shallots. Because tbh, there’s really never a bad time for fried onions. 🙂

An overhead picture of a jar of pasta, a bowl of parmesan, a pinch pot of salt, a plate of peppercorns, a bowl of parsley, a spaghetti spoon, and a few shallots on a grey background.

Cacio e pepe ingredients

I really can’t think of a recipe with more basic ingredients, but in this version, we’re getting a little *fancy* with fried shallots! However, this only requires two extra ingredients, so we’re really keeping it simple here. Pantry pasta forever. <3

  • Shallots: Go for two large or three small! Sometimes, I make extra just to have around.
  • Neutral Oil: You’ll want something neutral for frying like vegetable or canola oil. I usually go with canola!
  • Pasta: You’re going to want a long pasta here. I believe that bucatini is the most traditional, but I usually use regular spaghetti since I always have it around!
  • Freshly Cracked Black Pepper: The freshly-cracked part is important. The fresher the pepper, the more flavorful your pasta will be!
  • Pecorino Romano/Parmesan: Some people swear Pecorino Romano is the only way, but I’m fine with Parmesan, and I think you should be too! Use what you have or what’s available to you.
  • Salt: For flavoring the pasta water!

Let’s make fried shallots!

An overhead photo of a black pan filled with shallots frying in oil on a grey speckled counter.

I know, frying, ugh. I can undoubtedly tell you that I usually hate frying. But, shallots are the exception, because they are sooo easy and not messy! Plus, the leftover oil is actually useful and doesn’t need to be thrown away immediately.

To fry shallots, I use the Bon Appetit method! You start by thinly cutting a few peeled large shallots. The best way to do this is with a mandolin, but I don’t like washing a mandolin over two shallots, so I just do it by hand. 🤷 You just want them to be about as thin as a dime! Next, place them in a pan, and fill the pan with just enough canola/vegetable oil to cover the shallots (about 1/3 cup).

Set the heat to medium-low, and cook until the shallots are deep golden-brown about 20 minutes. Stir often with the tines of a fork to separate the shallots! (Pro tip: Keep an eye on these, especially towards the end! Once they start browning, they will brown quick). Drain the fried shallots through a fine-mesh strainer (reserve the oil!) and place on a paper towel to mop up any extra grease. Season with salt and let cool! Store in an airtight container for up to three days.

How to make Cacio E pepe with fried shallots!

A bird's eye photo of a pasta strainer filled with spaghetti on a grey speckled table.

While you are frying your shallots, you will want to start your pasta! Fill a large pot with water and add a few heavy pinches of salt. Cook your pasta for one minute less than the package directions recommend. (We will continue cooking the pasta in the sauce later). Before you drain the spaghetti, make sure to save at least one and a half cups of the cooking liquid which will make up our sauce!

Overhead shot of a white pot filled with oil, fresh pepper, spaghetti, and parmesan.

After draining your pasta, dry the pot, and return it to the stove. Heat three tablespoons of the leftover shallot frying oil over medium heat. Add 1 1/2 teaspoons of freshly cracked pepper (about 50 turns) to oil, and cook to bloom the flavor, about one minute. Stir in half a cup of the leftover pasta water until everything is combined. Add the pasta, and coat well with the sauce, stirring until perfectly al dente. Add more pasta water as necessary until the cacio e pepe is perfectly saucy.

Remove the pasta from the heat, and quickly stir in the Pecorino Romano/Parmesan until you have a smooth, silky sauce. Taste, season with salt, and divide between four bowls. Top with fried shallots and enjoy!

Parmesan or pecorino Romano?

Traditionally, Pecorino Romano cheese is used in cacio e pepe. But, I’m all about accessibility and not every store has the cheese aisle of a French market. If you can’t find Pecorino Romano, just use some grated Parmesan! P.S. of course freshly grated is always better than pre-grated. But I don’t like shredding cheese, and if you don’t either, let’s just use pre-grated and not feel bad about it, ok?

How do I know when spaghetti is al dente?

Pasta is al dente when it has just a tiny bite to it. It will not be mushy or crunchy, and the center will have a slight white core. Package directions are not always clear, so it’s important to try your pasta to make sure it’s perfectly al dente!

You need to use freshly cracked black pepper, trust

Ok, I know this seems fussy, but it’s v important for cacio e pepe! When pre-ground black pepper (or any herb for that matter) sits around exposed to air, it rapidly loses flavor over time. But, when we use freshly ground black pepper, it isn’t exposed for the air for too long before we start cooking with it. This will lead to bright, aromatic, spicy flavors, not dull and boring nothing-ness.

cacio e pepe is great with all kinds of pasta

Bucatini is the most common pasta used in cacio e pepe, but it’s not the only option! Usually, I use spaghetti because it’s what I can find in the grocery store. While long, thin pastas work best with the cheese and pepper sauce, there are a few other types of pastas you can use! Besides bucatini or spaghetti, I would also recommend:

  • Fettuccine: A flat, long pasta
  • Pappardelle: A very thick, long pasta. One of my faves!
  • Linguine: A little thicker than spaghetti but not as thick as fettuccine.
  • Stuffed pastas: Tortellini, ravioli, etc.

Unfortunately, tubed pastas such as penne or rigatoni don’t work great, because they don’t hold on to the sauce quite as well.

A close-up overhead shot of a bowl of cacio e pepe next to an emerald green linen, bowl of fried shallots, and a small wooden bowl of salt on a grey background.

pasta water vs. regular water

The reason we use pasta water to bring everything together is the starch! The salts and starches in the water not only adds flavor, but it also binds the oil, pepper, and cheese to the pasta so you get a smooth, silky sauce! If you use regular water, you’ll just end up with a puddle of water at the bottom of the pot instead of a sauce.

Butter or shallot oil?

A lot of recipes call for butter in the sauce, because butter is just straight-up delicious. However, I like to use the reserved shallot oil, because 1. it’s adds soooo much good flavor, and 2. less waste. You will probably have more shallot oil leftover after this recipe, so just store it in a jar and use it for other sauces, stir fries, and salad dressings in the future!

Storing Cacio E Pepe

Cacio e pepe is really one of those dishes that is just better day-of. The pasta will dry out a little bit once you put it in the fridge. It’s not necessarily bad, just not as good as fresh cacio e pepe! If you refrigerate the leftover pasta, just keep it in an airtight container, and add a small splash of water before you microwave the pasta. Stir well, top with leftover fried shallots, and enjoy! Definitely don’t store the cacio e pepe with the fried shallots in the fridge, or the shallots will get soggy!

How to serve cacio e pepe

Cacio e pepe is honestly good on its own, but if you’re like me, a veggie or side completes a meal! Here are a few things we like:

  • An arugula salad with a simple vinaigrette
  • Roasted broccoli or green beans
  • Grilled asparagus or zucchini
  • Caprese salad
  • Melon with prosciutto!
  • Garlic bread (duh)

Cacio e pepe ad-ins

If you want to take cacio e pepe up a notch, you can always add:

  • A couple handfuls of arugula or spinach (let it wilt before serving)
  • Fresh spring peas!
  • A few cloves garlic
  • Cooked chicken, bacon, or prosciutto
  • A squeeze of lemon!
  • Fresh herbs. I like a little fresh parsley once in a while.

A few tips!

Cacio e pepe is a pretty simple dish, but there are a few things to keep in mind to make sure it’s perfect!

  • When boiling the pasta, make sure not to use too much water! We want the pasta to cook in a small amount of water so it gets very starchy and flavorful.
  • Reserve some of the pasta water right before you drain to make sure it’s nice and starchy!
  • Bloom the freshly ground pepper by cooking it in the oil for about a minute. This will bring out all of the amazing flavors!
  • Remove the pasta from the heat before you add in the cheese, or it will get too hot and clump up.
  • Add more pasta water as necessary to get a nice, silky sauce.
  • Top with fried shallots right before serving so they don’t get soggy.
A side shot of a bowl of spaghetti with fried shallots on top, surrounded by a green linen, more bowls of pasta, fried shallots, and a glass of wine on a grey table.

Some other italian dishes you’ll love!

Marinated White Beans with Toast
Best Sicilian Pizza
Marc’s Meatball Subs
Bucatini Carbonara with Sausage & Greens
Creamy Lemon Pasta with Fried Pine Nuts
White Lasagna with Pesto & Pancetta

cacio e pepe with fried shallots


An overhead image of cacio e pepe with fried shallots in a white bowl on a white table next to a green linen, white bowl of fried shallots, and wood bowl of salt.
No ratings yet

Cacio e Pepe with Fried Shallots

Yield: 4 servings
Prep Time: 10 minutes
Cook Time: 35 minutes
Total Time: 45 minutes
Silky, rich cacio e pepe (literally "cheese and pepper") is made with freshly ground black pepper, Pecorino Romano (or Parmesan), and topped with homemade crispy fried shallots! This dish is a great pantry staple meal but cozy enough for a romantic date night at home.

Ingredients

Fried Shallots

  • 2 large shallots, peeled and thinly sliced (about as thick as a dime)
  • 1/3 cup Canola oil (grapeseed or vegetable work too)
  • Salt, to taste

Cacio e Pepe

  • 8 oz spaghetti (or other long pasta)
  • 3 tbsp reserved shallot oil or butter
  • 1 1/4 tsp freshly-ground black pepper (about 50 turns)
  • 2 1/2 oz Pecorino Romano or Parmesan, grated
  • Salt, to taste

Instructions 

Fried Shallots

  • Place the thinly sliced shallots in a pan, and fill the pan with just enough canola oil to cover the shallots (about 1/3 cup). Use a little more if you have to!
  • Set the heat to medium-low, and cook until the shallots are deep golden-brown about 20-25 minutes. Stir often with the tines of a fork to separate the shallot rings! (Pro tip: Keep an eye on these, especially towards the end! Once they start browning, they will brown quick).
  • Drain the shallots through a fine-mesh strainer, reserve the leftover oil, and place the fried shallots on a paper towel to mop up any extra grease. Season with salt and let cool. Store in an airtight container for up to three days.

Cacio e Pepe

  • While the shallots are frying, fill a large pot with water and add a few heavy pinches of salt. Add your pasta, and cook for one minute less than the package directions recommend. (We will continue cooking the pasta in the sauce later). Before you drain the spaghetti, save at least one and a half cups of the cooking liquid which will make up our sauce.
  • After draining your pasta, dry the pot, and return it to the stove. Heat three tablespoons of the leftover shallot frying oil (or butter) over medium heat. Add the freshly cracked pepper to the oil, and cook to bloom the flavor, about one minute.
  • Stir in half a cup of the leftover pasta water until everything is combined. Add the pasta, and coat well with the sauce, stirring until perfectly al dente. Add more pasta water as necessary until the cacio e pepe is perfectly saucy.
  • Remove the pasta from the heat, and quickly stir in the Pecorino Romano/Parmesan until you have a smooth, silky sauce. Taste, season with salt, and divide between four bowls. Top with fried shallots and enjoy!
Cuisine: Italian
Course: Main Course
Serving: 1plate, Calories: 397kcal, Carbohydrates: 35.5g, Protein: 12.7g, Fat: 23.3g, Saturated Fat: 4.1g, Cholesterol: 54mg, Sodium: 182mg, Potassium: 177mg, Fiber: 0.2g
Did you make this recipe?Tag @sundaytable.co on Instagram!

xo Sara Lynn

*Song of the day: He Loves Me by Brittany Howard

Cacio e Pepe with Fried Shallots | Serendipity by Sara Lynn
Cacio e Pepe (literally "cheese and pepper) made with spaghetti, freshly-ground pepper, Pecorino Romano, and topped with homemade fried shallots.