Bring a large pot of heavily salted water to a boil and cook penne pasta according to package directions until al dente. Reserve 1/2 cup of pasta water before draining.
In a shallow bowl, whisk together the flour, salt, and pepper. Dredge the chicken medallions in the flour mixture, shaking off any excess.
Heat the olive oil and 1 tablespoon of butter in a large skillet over medium-high heat. Add chicken in a single layer and sear for 3-4 minutes per side until golden brown and cooked through. Remove chicken from the skillet and set aside.
In the same skillet, melt 1 tablespoon of butter. Add the sliced mushrooms and red onions. Sauté for 5-7 minutes until the mushrooms are browned and onions are translucent.
Add the minced garlic and cook for 1 minute until fragrant.
Pour in the Madeira wine to deglaze the skillet, scraping the bottom with a wooden spoon to release the brown bits (fond). Simmer for 3-5 minutes until the wine has reduced by half.
Whisk in the heavy cream and the remaining 2 tablespoons of butter. Bring to a gentle simmer and cook for 3 minutes until the sauce begins to thicken.
Reduce heat to low and stir in the Parmesan cheese until completely melted and the sauce is smooth.
Add the cooked pasta and chicken medallions back into the skillet. Toss thoroughly to coat with the sauce. If the sauce is too thick, add the reserved pasta water 1 tablespoon at a time until desired consistency is reached.
Garnish with chopped fresh parsley and additional Parmesan cheese if desired, then serve immediately.