Bring a large pot of well-salted water to a boil for the pasta.
Heat the olive oil and butter in a 12-inch / 30 cm skillet over medium heat until the butter foams.
Add the onion and cook for 8 to 10 minutes, stirring occasionally, until softened and lightly golden at the edges.
Add the cabbage and a pinch of salt. Spread it in an even layer and cook for 20 to 25 minutes, stirring only every 3 to 4 minutes, until deeply golden and soft. If it looks watery instead of browning, the skillet is too crowded or you're stirring too often, let it sit still longer.
While the cabbage cooks, drop the orecchiette or other short pasta into the boiling water and cook until al dente, according to the package time.
Add the garlic and red pepper flakes to the cabbage in the last minute of cooking, stirring until fragrant.
Reserve 1 cup / 240 ml of pasta water, then drain the pasta.
Add the drained pasta to the skillet along with a splash of the reserved pasta water. Toss over low heat for 1 to 2 minutes, adding more water as needed until everything is glossy and coated.
Stir in the parmesan and a generous crack of black pepper. Taste and adjust salt.
Divide among bowls and top with extra parmesan before serving.