Ingredients
Equipment
Method
- Combine breadcrumbs and milk in a small bowl and let soak for 5 minutes until the breadcrumbs absorb all the liquid.
- In a large mixing bowl, add ground beef, ground pork, drained ricotta cheese, soaked breadcrumbs, Parmesan cheese, beaten eggs, minced garlic, fresh parsley, basil, oregano, salt, black pepper, and red pepper flakes if using.
- Using your hands, gently mix all ingredients together until just combined. Avoid overmixing as this can make the meatballs tough.
- Form the mixture into meatballs about 1.5 to 2 inches in diameter. You should get approximately 20-24 meatballs. Place them on a plate as you work.
- Heat olive oil in a large cast iron skillet over medium-high heat. Once hot, add meatballs in batches, being careful not to overcrowd the pan.
- Sear meatballs for 2-3 minutes per side until golden brown all over. They don't need to be cooked through at this point. Remove browned meatballs and set aside.
- In the same pan, reduce heat to medium and add diced onion. Sauté for 3-4 minutes until softened. Add minced garlic and cook for another minute.
- Pour in crushed tomatoes, tomato sauce, and tomato paste. Stir well. Add sugar, dried basil, oregano, salt, and pepper. Bring to a simmer.
- Return the browned meatballs to the sauce, nestling them in. Reduce heat to low, cover, and simmer for 20-25 minutes, occasionally spooning sauce over meatballs.
- Once meatballs are cooked through (internal temperature 165°F), remove from heat. Add dollops of fresh ricotta cheese over the top.
- Garnish with chopped parsley and grated Parmesan. Serve immediately over pasta, with crusty bread, or enjoy on their own.
Notes
Meatballs can be made ahead and refrigerated for up to 24 hours before cooking. They also freeze beautifully for up to 3 months. For best results, use whole milk ricotta and freshly grated Parmesan cheese. Don't overmix the meat mixture to keep meatballs tender.