Heat a skillet over medium heat. Add the olive oil and diced onion with a pinch of salt. Cook for 4-5 minutes, stirring occasionally, until softened and lightly golden.
Add the halved cherry tomatoes and cook for 3-4 minutes, stirring occasionally, until they’re blistered and beginning to collapse. Reserve some of the blistered tomatoes for later.
Add garlic and sun-dried tomatoes. Cook for 30-60 seconds until fragrant.
Stir in Italian seasoning, smoked paprika, red pepper flakes and black pepper.
Sprinkle flour over everything and stir for about 30 seconds. Slowly pour in the broth while stirring, followed by the milk and Dijon mustard.
Bring to a gentle simmer and cook for 2–3 minutes, stirring, until slightly thickened.
Stir in the beans and simmer gently for 5–7 minutes.
Mash about ⅓ of the beans against the side of the skillet with the back of a spoon.
Stir in the chopped kale, cover, and cook for 3-5 minutes, stirring once or twice, until tender but still vibrant.
Lower the heat and stir in the Parmesan until melted and glossy.
Add lemon juice and honey. Taste and adjust salt, pepper and red pepper flakes. If the sauce is thicker than you want, stir in a splash of broth.
Top with the reserved blistered tomatoes, Parmesan, black pepper and a drizzle of olive oil. Enjoy!
