Cook the pasta according to the package directions making sure to undercook it by 2-3 minutes. Drain and set aside, reserving one cup of the pasta water.
If using large kale leaves, remove the tough stems and chop into bite-size pieces. If using pre-chopped, bagged kale, I suggest going through to make sure it doesn't have any stems.
Heat the olive oil in a very large skillet over medium-high heat and cook the onion until it's soft, about 4-5 minutes.
Add the garlic and cook 1-2 minutes longer or until it's fragrant.
Turn the heat down to medium, add the kale and one cup of the chicken broth and cook until the kale is wilted, about 4-5 minutes.
Carefully transfer everything from the pan into a food processor or powerful blender. Add the remaining chicken broth and the Parmesan and blend until completely smooth, adding a bit of the pasta water as needed.
Return the pureed kale sauce back to the pan and bring to a simmer over medium-low heat.
Turn the heat down to low and add the butter, half & half and some extra Parmesan, if desired. Stir to combine and heat through but do not let this boil. Cook for 1-2 minutes.
Taste and add salt and pepper to your liking. You can also add the crushed red pepper if you want some extra heat.
Add the pasta to the sauce and toss to combine. Continue to cook this, tossing frequently until the pasta has absorbed most of the liquid.
Serve immediately with extra Parmesan!