Boil the pasta. Bring a large pot of salted water to a boil.
Cook the pasta according to package directions until al dente. Reserve 1/2 cup of pasta water, then drain.
Sauté the aromatics. While the pasta cooks, heat olive oil in a large skillet over medium heat. Add onion with a pinch of salt and cook 4–5 minutes until soft.
Stir in garlic and cook 30 seconds until fragrant.
Build the sauce base. Add black beans, crushed tomatoes, smoked paprika, cumin, and chili flakes (if using). Stir to coat and let it simmer for 2–3 minutes.
Blend to creamy. Transfer about half the sauce to a blender with 1/2 cup vegetable broth. Blend until smooth and creamy.
Pour it back into the skillet and stir to combine with the chunky portion. Adjust thickness with more broth or reserved pasta water as needed.
Season and brighten. Add lime juice, nutritional yeast (if using), and a few grinds of black pepper. Taste and add salt as needed.
The sauce should be savory with a hint of tang.
Add greens. Stir in chopped spinach or kale and cook 1–2 minutes until wilted.
Toss with pasta. Add drained pasta to the skillet and toss to coat. If the sauce seems thick, splash in reserved pasta water until glossy and silky.
Finish and serve. Top with fresh cilantro or parsley. Add avocado slices and cherry tomatoes if you like.
Serve hot.