Season chicken with salt and pepper.
Heat olive oil and butter in a large skillet over medium-high heat.
Cook chicken until golden on both sides, about 4-5 minutes per side.
Remove chicken and set aside.
In the same skillet, add sliced mushrooms and cook for 5 minutes until softened.
Add diced onion and cook for 3 additional minutes.
Stir in minced garlic and cook for 1 minute.
Pour in Madeira wine, scraping up any browned bits from the bottom.
Reduce the wine by half, then add the beef broth.
Simmer until reduced and thickened, about 10 minutes.
Return the chicken to the skillet, spooning sauce over each piece.
Cover and cook for another 8-10 minutes until chicken is cooked through.
While the chicken is finishing, heat a separate pan with olive oil.
Cook asparagus until tender-crisp, about 4 minutes.
Serve chicken topped with mushrooms and sauce alongside asparagus.