The shop is now live! Visit shop.

Spicy Ricotta Meatballs

The other night, I decided to, for whatever reason, cook meatballs from scratch at 11 at night. I still don’t really know why, but I’ve been enjoying them all week so I’m really glad I did!

Using ricotta cheese in these spicy meatballs creates a super moist meatball and the ricotta acts as a binder (along with the eggs) so you don’t need to worry about them falling apart as you cook them. These spicy ricotta meatballs are spicy and fragrant and rich and pair well with a simple tomato sauce and pasta and fresh basil leaves.

These spicy ricotta meatballs take some time to make, but you’ll end up with about 25 meatballs to add to your favorite sauce and pasta or for an amazing spicy meatball sub.

I use basket ricotta cheese because it’s less watery, so I recommend using that if you can find it. If not, you may need to strain off some of the excess liquid in the ricotta cheese (or strain it overnight). If your meatballs seem too soft, add a bit more breadcrumbs. I ended up using about 1/2 cup, but it depends on a lot of different factors. The biggest thing is to not over-mix the meatballs or over-roll them. Make sure they seem like they’ll hold together but aren’t too dry.


Makes: About 25 meatballs

Cost: $$

Skill Level: Easy

Time to Make: 2 hours 20 minutes (1 hour 20 minutes inactive)


1 pound lean ground beef (I used grass-fed, 90/10!)

1/2 pound spicy Italian sausage (casings removed)

1/2 pound ground pork

1 teaspoon kosher salt (plus more to taste)

1 teaspoon black pepper (plus more to taste)

1/2 cup basket ricotta cheese

1/3 cup freshly grated Pecorino Romano cheese

1/2 cup loosely packed basil leaves

1/2 cup loosely packed parsley leaves

1 red Fresno chili pepper (more or less to taste, or, use crushed red pepper to taste)

6 garlic cloves

2 eggs

1/3 cup bread crumbs (plus more, if necessary)

2 tablespoons olive oil


1 yellow onion

4 cloves garlic

1-2 red Fresno chili peppers (depending on your spice preference)

1/2 cup chicken stock

3 14.5-ounce cans of fire-roasted crushed tomatoes

Salt, pepper, and a pinch of sugar to taste

1/2 cup loosely packed fresh basil leaves

1/2 cup loosely packed fresh parsley leaves

1/2 cup reserved pasta cooking water


Cooked pasta

Fresh basil leaves

Freshly grated Pecorino Romano cheese, optional


Prepare Meatball Ingredients: Preheat oven to 400ºF. Mince the garlic, basil leaves, parsley leaves, and red Fresno chili pepper.

Mix the meatballs: In a mixing bowl, combine all the ingredients for the meatballs and use your hands to mix until just combined. If the mixture seems too soft, add a bit more breadcrumbs. Do not over-mix. Take out a very small teaspoon of the mixture and fry it up in a hot skillet until cooked through. Taste and adjust the seasonings in the mixture as necessary.

Roll the Meatballs: Scoop out a heaping tablespoon of the meatball mixture and roll lightly into a bowl. Do not over-roll the meatball; it’s okay if it’s not a perfect circle! Transfer to a plate.

Fry the Meatballs: Heat the oil in a large, deep sauté pan over medium high until hot. Arrange the meatballs in an even layer and cook without moving for 3-5 minutes until browned. Flip and continue cooking in 3-5 minute increments until browned all over. Cook the meatballs in batches to avoid overcrowding the skillet. Transfer the meatballs to a baking sheet and cook for 18-20 minutes or until just cooked through. (It’s okay if they’re not completely cooked through as they will finish cooking the sauce.)

Prepare the Sauce Ingredients: While the meatballs are baking, prepare the ingredients for the sauce (including the pasta and be sure to reserve 1/2 cup pasta cooking water). Mince the onion, garlic, and red Fresno chili pepper(s). Tear the basil leaves. Mince the parsley leaves.

Prepare the Sauce: Blot out most of the excess fat and oil in the sauté pan. Add the onion and cook over medium heat, stirring regularly, until the onion is softened and translucent, about 5-8 minutes. Add the garlic and red Fresno chili pepper and cook for 45 seconds until fragrant. Add the chicken stock and scrape up any browned bits stuck to the bottom of the pan. Add the tomatoes along with salt, pepper, and a pinch of sugar and the minced parsley. Bring to a boil and then reduce heat and add the meatballs to the sauce. Cover and simmer for 45 minutes to 1 hour or until the meatballs are completely cooked through and the flavors in the sauce have melded. Remove the meatballs from the sauce and transfer to a serving platter with a ladle of the sauce. Add 1/2 cup reserved pasta cooking water to the sauce along with the torn basil leaves and toss with the cooked pasta. Turn off the heat.

To Serve: Divide the pasta and sauce between bowls and serve with meatballs on top. Arrange a few small basil leaves on top along with freshly grated Pecorino Romano cheese. Enjoy!

Leave a Reply

Your email address will not be published.

New recipes sent directly to your inbox.

Easy, elegant recipes to keep you cooking all week long.