
In a large Dutch oven or other heavy-bottomed pot, heat the olive oil over medium. Add the onion and cook, stirring occasionally, until it is beginning to soften, 4 to 6 minutes. Add the garlic and stir for 30 seconds, until fragrant.
Add the beef, Italian seasoning, ½ teaspoon salt, pepper, nutmeg, and red pepper flakes. Cook, breaking up the meat with a spoon, until starting to brown, 3 to 5 minutes.
Add the tomato paste and cook for 1 minute, stirring constantly.
Add the broth and butternut squash. Bring to a boil over medium-high heat, then reduce the heat to maintain a steady simmer. Simmer uncovered for 5 minutes, until the squash is more tender but still has some chew to it.
Add the marinara sauce and return to a boil over medium-high heat. Stir in the lasagna noodles. Let simmer for 10 minutes, stirring every few minutes to make sure the noodles don't stick to the bottom of the pot.
Stir in the kale (if you're using spinach, wait to add it until the end). Continue simmering for 5 to 10 minutes more, until the noodles are tender. (If using spinach, stir it in now.)
While the soup simmers, in a medium bowl combine the ricotta, Mozzarella, Parmesan, 2 tablespoons of the basil, and the remaining 1/4 teaspoon salt.
Remove the soup from the heat. Stir in the cream and remaining 1/2 cup basil.
Roll the ricotta mixture into generous 1 to 1 1/2-inch balls. Float a few on top of the soup and stir lightly to combine (you can also skip the balls and just serve the soup with big dollops of ricotta).
To serve, ladle the soup into bowls. Top with an additional ricotta ball and fresh basil.