In a large wide pot or Dutch oven over medium heat, warm the oil. Add the onion, carrot, celery, garlic, and red pepper flakes and cook, stirring occasionally, for 7 to 8 minutes, until partially softened. Season with salt and black pepper. Add the tomato paste and cook, stirring, for 1 to 2 minutes, until fragrant. Stir in the kale and cook, stirring occasionally, for 3 to 4 minutes, until it starts to wilt. Add the diced tomatoes, stock, thyme, Parmesan rind, and bay leaf and bring to a simmer.
Pour about one-quarter of the beans into a small bowl with a couple of tablespoons of the cooking liquid and mash them together with a fork to form a paste. Pour the paste and the remaining whole beans into the soup and stir to combine. The mashed beans will help to thicken the soup as it cooks. Simmer the soup with the lid slightly ajar for about 25 minutes, until the vegetables are softened but still al dente. Add the bread and simmer, partially covered, for another 5 to 7 minutes, until the bread starts to dissolve into the soup and thickens it further.
Before serving, remove the thyme, Parmesan rind, and bay leaf. Season with salt and black pepper. Spoon the ribollita into bowls and top with the Parmesan and a drizzle of oil.
