Heat the olive oil in a large pot over medium-high heat.
Add the ground beef, season generously with salt and pepper on one side, and let it sear undisturbed for 4–5 minutes to develop a crust.
Flip, break it up with a spoon, and continue cooking until well browned, about 3–5 more minutes.
Transfer the beef to a paper towel–lined bowl and set aside.
In the same pot, add the onion, carrots, and celery.
Season with a pinch of salt and pepper (about 1 tsp each), and cook for 6–8 minutes until softened.
Add the garlic, oregano, thyme, and Calabrian chilies (if using). Stir and cook for 1 minute.
Clear a space in the center of the pot and add the tomato paste.
Let it sit undisturbed to caramelize for 1–2 minutes, then stir it into the vegetables and cook for another 1–2 minutes.
Pour in the white wine, scraping up any browned bits.
Simmer until reduced by half, about 2 minutes.
Add the broth, marinara, beans (with half mashed if desired), cooked beef, Parmesan rind, bay leaf, and rosemary (if using).
Bring to a boil, then reduce to a gentle simmer.
Cook partially covered for 20 minutes, stirring occasionally.
Add the pasta and cook until al dente, 8–10 minutes, stirring often so it doesn’t stick to the bottom.
Keep the bay leaf and Parmesan rind in while it simmers.
In the last 5 minutes, stir in the kale (or escarole) and let it wilt into the soup.
Off the heat, stir in lemon juice.
Taste and adjust seasoning with more salt, pepper, or lemon as needed.
Ladle into bowls, top with Parmesan, and serve with crusty bread.
