
Vegan Black Bean Meatballs
Hearty, plant-based meatballs made with black beans, cornmeal, and warm Mexican spices like cumin and jalapeño. Baked rather than fried, these deliver satisfying texture and authentic flavor. Serve over rice, in tacos, or with cilantro-lime sauce for dipping.
- Prep
- 22 min
- Cook
- 28 min
- Total
- 50 min
- Makes
- Makes 16 meatballs (serves 4 as a main course side or 8 as an appetizer)
Steps
Before you start
- Drain and rinse canned black beans if using; they'll blend better when moist
- Gather all ingredients and have them measured and prepped (mise en place) before you start
- The oven preheats while you form the meatballs, so the timeline is efficient
- Read through the instructions once so you understand the gentle folding technique
Prepare the beans and aromatics
- Drain and rinse the black beans in a fine-mesh strainer, shaking gently to remove excess water.
- Finely dice the onion into pieces about 1/8 inch.
- Mince the garlic and jalapeño; if you prefer less heat, remove the jalapeño seeds first.
- Chop the cilantro.
- Juice the lime to get about 1 tablespoon of juice.
Pulse the beans with oil
- Add the drained black beans and 1 tablespoon of olive oil to a food processor.
- Pulse 8–10 times until the mixture is chunky-textured with some whole beans still visible.
- Do not purée; you want texture, not a smooth paste.
+ Show details− Hide details
Ready when: Beans are chunky-textured with visible whole beans
Tip: Overpulsing creates dense, gluey meatballs. Stop while the mixture is still rough and chunky.
Mix the filling
- Transfer the pulsed beans to a large mixing bowl.
- Add the cornmeal, panko breadcrumbs, diced onion, minced garlic, minced jalapeño, cilantro, ground cumin, lime juice, salt, and black pepper.
- Using a spatula or wooden spoon, fold everything together gently until just combined.
- The mixture should be chunky-textured and hold together when squeezed, but not over-worked into a uniform paste.
+ Show details− Hide details
Ready when: All ingredients are evenly distributed and the mixture holds together when squeezed
Tip: Overmixing develops gluten in the breadcrumbs and makes the meatballs dense and tough. Mix just until combined.
Preheat oven and prepare baking sheetOven 375°F / 190°C
- Preheat your oven to 375°F (190°C).
- Line a standard baking sheet (13×9 inches or similar) with parchment paper and set it aside.
Form the meatballs
- Lightly dampen your hands with water to prevent sticking.
- Using a 1-ounce cookie scoop or a spoon, portion the filling into 16 roughly equal pieces (about 2 tablespoons each).
- Roll each piece gently between your palms to form a smooth, compact ball about 1.5 inches in diameter.
- Place each ball on the prepared baking sheet, spacing them about 1 inch apart so they brown evenly and don't steam each other.
+ Show details− Hide details
Ready when: 16 smooth, evenly-sized balls are arranged on the baking sheet with space between them
Tip: Damp hands make rolling easier and prevent sticking. If the mixture feels too wet or sticky, refrigerate for 15 minutes before forming.
Bake until golden and firmOven 375°F / 190°C
- Drizzle the meatballs with the remaining 1/2 tablespoon of olive oil, distributing it evenly.
- Bake at 375°F (190°C) for 25 to 30 minutes until the meatballs are golden brown on all sides and feel firm (not squishy) when gently pressed.
- About halfway through (at the 15-minute mark), gently shake the pan to rotate the meatballs for even browning.
- The exterior should be set and lightly browned, though they won't have a crispy crust like fried meatballs.
+ Show details− Hide details
Ready when: Meatballs are golden brown on all sides and firm to the touch
Tip: If the meatballs are browning too quickly, lower the oven temperature to 350°F for the remaining time.
Good to know
Tips
- For a spicier version, leave the jalapeño seeds in or add 1/8 teaspoon of cayenne pepper to the filling mixture.
- Serve with cilantro-lime crema, salsa verde, or a yogurt-based dipping sauce to add moisture and extra flavor.
- Space the meatballs at least 1 inch apart on the baking sheet so they brown evenly and don't steam each other; crowding them will make them soft and pale.
- The mixture can be made 24 hours ahead and refrigerated before forming and baking, which is a great time-saver for meal prep.
Make ahead
Form the meatballs up to 24 hours ahead, cover, and refrigerate. Bake directly from the fridge with no thawing needed; add 2–3 minutes to the baking time. Alternatively, bake fully and freeze for up to 3 months; reheat in a 350°F oven for 12–15 minutes until warmed through.
Storage & reheating
Room temperature: up to 2 hours (cover loosely). Refrigerator: up to 4 days in an airtight container; reheat gently in a 325°F oven for 10 minutes or 30–40 seconds per meatball in a microwave. Freezer: up to 3 months; bake from frozen at 375°F for 35–40 minutes, or thaw overnight and bake for 15–20 minutes.
Substitutions
- Fresh cilantro → Parsley. Parsley is milder; cilantro gives authentic Mexican flavor. Use the same amount.
- Panko breadcrumbs → Regular breadcrumbs or crushed tortilla chips. Tortilla chips add extra corn flavor and authenticity. Use the same amount.
- Cornmeal (polenta) → Polenta or masa harina. Masa harina gives a more authentic corn tortilla flavor. Use the same amount.
- Jalapeño pepper → Serrano pepper (use half) or cayenne pepper (1/8 tsp). Serranos are hotter. Cayenne is a dry alternative without fresh pepper texture.
More meatballs
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Mexican
- Main ingredient
- Black Beans
- Method
- Oven





