Skip to main content

Lamb Meatballs with Escarole, Cipollini Onions, and Cranberry Beans

This sophisticated high-protein lamb dish offers a wonderful depth of flavour, combining succulent homemade meatballs with the creamy texture of cranberry beans. The addition of bitter escarole and sweet cipollini onions creates a balanced, savoury profile that feels both rustic and refined. Slow-cooking the meatballs in a rich stock ensures they remain perfectly tender, while the fresh herbs and salty Parmigiano-Reggiano provide a bright, punchy finish to every bowl.

Perfect for a nutritious weekend dinner or a restorative midweek meal, these lamb meatballs are a brilliant way to include more legumes and leafy greens in your diet. While borlotti or Roman beans make excellent substitutes if cranberry beans are hard to find, the key to success lies in the gentle braising process. Serve this wholesome meal as a standalone dish, or alongside some crusty sourdough bread to soak up the delicious herb-infused juices.

Video picks

Continue reading below

Ingredients for Lamb Meatballs with Escarole, Cipollini Onions, and Cranberry Beans

  • 180ml dried cranberry beans, borlotti beans, or Roman beans, or 825g shelled fresh cranberry beans

  • 2 teaspoons salt

  • 1 bay leaf

  • 1 (1/4-pound) piece smoky slab bacon (optional)

  • 900g lamb mince

  • 45ml dried marjoram

  • 1 tablespoon dried rosemary

  • 1 medium yellow onion, minced (about 150g )

  • 1 medium garlic clove, minced

  • 4 large eggs, lightly beaten

  • 230g fresh bread crumbs or finely ground panko bread crumbs

  • 2 teaspoons coarse salt

  • 1/2 teaspoons freshly ground black pepper

  • 2 teaspoons plus 2 tablespoons extra-virgin olive oil, divided

  • 1.9L homemade beef stock or prepared beef broth, or lamb stock, if you have it

  • 60ml extra-virgin olive oil

  • 15 cipollini onions, peeled and quartered

  • Coarse salt and freshly ground black pepper

  • 1 head escarole (about 575g), trimmed, leaves cut into 2-inch pieces and rinsed well

  • Freshly grated Parmigiano-Reggiano cheese

  • 1/4 cup fresh flat-leaf parsley leaves

  • 1/4 cup celery leaves

If using dried beans, soak the beans overnight in room-temperature water to cover. (If using fresh beans, shell the beans and skip to step 3.)

To cook the beans, drain the beans and place in a medium sauce pot with 1200ml water, the salt, bay leaf, and bacon (if using). Simmer over low heat for 1 to 1 1/2 hours, or until the centre of the beans reaches a creamy texture.

Meanwhile, to prepare the meatballs, combine the lamb, marjoram, rosemary, onion, garlic, eggs, bread crumbs, salt, and pepper in a large bowl. Mix with clean hands until well combined. Heat 2 teaspoons of the olive oil in a 7- to 8-quart Dutch oven or sauce pot over medium heat. Form one small meatball and sauté until the meat is no longer pink, 4 to 5 minutes. Taste the meatball and adjust the seasoning of the meat mixture as needed.

Use a 60g ice cream scoop to form 24 meatballs and lay them on a rimmed baking sheet. (Or, divide the mixture into 4 parts and make 6 meatballs per part.) Add the remaining 2 tablespoons olive oil to the pot and heat over medium-high heat until hot but not smoking. Working in batches, brown the meatballs on all sides, 5 to 6 minutes per batch. Drain the fat from the pot, then return the meatballs to the pot. Add enough beef or lamb stock to cover. Bring to a simmer over medium heat, then reduce the heat to low and allow the meatballs to simmer gently until they are cooked through, about 1 hour.

Remove the meatballs from the braising liquid with a slotted spoon and transfer to a large platter or baking sheet. Tent the platter with foil to keep the meatballs warm. Strain the braising liquid and reserve.

To make the vegetables, heat a large saute pan over medium heat and add the olive oil. Add the cipollini onions, season with salt and pepper, and cook, stirring occasionally, until golden, about 10 minutes. Add the escarole, season with salt and pepper, and cook until just wilted, 2 or 3 minutes. Add the beans and 60ml the reserved meatball cooking liquid, stirring to combine.

To serve, spoon the onions, escarole, and beans with the pan juices into bowls. Top with 3 or 4 meatballs per serving and garnish with Parmigiano-Reggiano and the parsley and celery leaves.

Disclaimer

While every effort has been made to ensure the information is accurate and up to date, individual needs may vary and dietary requirements can differ based on personal health conditions. Always check food labels and allergen information before preparing or consuming any recipe. If you have specific health concerns, allergies, intolerances, or are following a medically prescribed diet, seek advice from your GP, pharmacist, or a registered dietitian before making significant changes to your diet or lifestyle.

Article history

The information on this page is peer reviewed by qualified clinicians.

  • 28 Jan 2026 | Originally published

    Authored by:

    UK recipe editors

    Peer reviewed by

    UK recipe editors
flu eligibility checker

Ask, share, connect.

Browse discussions, ask questions, and share experiences across hundreds of health topics.

symptom checker

Feeling unwell?

Assess your symptoms online for free

Sign up to the Patient newsletter

Your weekly dose of clear, trustworthy health advice - written to help you feel informed, confident and in control.

Please enter a valid email address

By subscribing you accept our Privacy Policy. You can unsubscribe at any time. We never sell your data.