I love recipes that feel like they’ve been simmering on the stove all day, but really take under 30 minutes to make for a quick and easy (and cheap) weeknight dinner.
Heat a large pot over medium heat. Add the olive oil and heat through, then add the onion. Sauté, stirring frequently until golden brown, about 6 minutes, turning down the heat if they cook too fast. Add the garlic and sauté just until fragrant.
Add the beans and stock and bring to a simmer over medium heat. Lower heat to medium-low and simmer, stirring occasionally, until the beans start to fall apart, about 10 minutes. Season to taste with salt and cool slightly.
Bring a large pot of salted water to a boil over medium-high heat. Add the pasta and cook until just al dente, about 8 minutes. Reserve 1 cup (240g) of the pasta cooking water, then drain the pasta and return to the pot.
Use an immersion blender or stand blender to blend the sauce with ½ cup (118g) of the pasta cooking water until smooth.
Pour over the cooked pasta and stir to combine over medium-low heat. Add the lemon juice and grated Parmesan cheese. If the sauce is too dry, add more of the pasta cooking water and stir to combine.
Divide among serving bowls and garnish with lemon zest and additional Parmesan cheese. Serve immediately.
Notes
The chicken stock can easily be swapped with vegetable broth if needed to make the recipe vegetarian.