If using dried beans, soak overnight (8–12 hr) or quick-soak: cover with water, bring to a boil 2 minutes, remove from heat and sit 1 hour. Drain. (Soak: 8–12 hr / Quick: 1 hr.)
Cook beans
Put soaked beans in a pot. Cover with 2 inches of water. Bring to a simmer and cook 50–75 minutes until tender. Reserve 1 cup of the cooking liquid. Drain the rest. (Bean cook: 50–75 min.)If using canned beans, skip steps 1–2 and add them in step 6; total time shortens to ~40 min.
Sauté aromatics
(10–12 min). Heat olive oil in a large heavy pot over medium heat. Add pancetta and cook 4–5 minutes until browned. Add onion, carrot, and celery. Cook 6–7 minutes until soft. Stir in garlic and rosemary; cook 1 minute.
Build the base
(3–4 min). Stir in tomato paste and cook 1–2 minutes to deepen flavor. Add crushed tomatoes and 5 cups of stock (reserve 1 cup). Bring to a gentle simmer.
Simmer flavors
(12–15 min). Let the tomato mixture simmer 12–15 minutes so flavors meld. Taste and season lightly with salt and pepper.
Add beans
(5–10 min). Add cooked or canned beans and ½–1 cup reserved bean liquid (or extra stock) to achieve a soup/stew balance you like. Simmer 8–10 minutes so beans soak up flavor.
Cook pasta in the pot
(8–10 min). Add the pasta to the simmering soup. Stir and cook until al dente, 8–10 minutes (follow package for exact time). If the soup thickens too much, add hot water or stock ½ cup at a time.Tip: For easier leftovers, cook pasta separately and add to bowls just before serving.
Finish
(2 min). Remove rosemary. Stir in parsley and most of the Parmigiano. Adjust salt and pepper.
Serve
Ladle into bowls. Top with more Parmigiano, a drizzle of olive oil, and a pinch of red pepper flakes if you prefer a bit of heat.
Notes
If you are using canned beans, the total time will be around 40 minutes.