Preheat the oven to 425°F (220°C).
Pat the steaks dry, lightly poke them with a fork, and season with salt.
In a medium bowl, combine the olive oil, soy sauce, Worcestershire sauce, balsamic vinegar, brown sugar (or honey), Dijon mustard, garlic, thyme, rosemary, and black pepper.
Pour the marinade into a gallon Ziploc bag and add the steaks. Seal the bag, removing excess air, and marinate in the refrigerator for at least 2 hours, up to overnight.
Remove the steaks from the fridge 30 minutes before cooking to bring to room temperature.
Place the garlic bulbs cut-side up in a cast iron skillet. Drizzle with olive oil and season with salt and pepper. Cover with foil and roast for 45 minutes to 1 hour, or until soft and golden brown.
After roasting, remove the garlic from the skillet and set aside to cool. Clean the skillet with paper towels and return it to the oven to stay hot for searing steaks.
Once garlic is cool enough to handle, squeeze the cloves into a bowl. Mix with softened butter, thyme, rosemary, and salt and pepper to taste.
Toss the asparagus with olive oil, lemon juice, salt, and pepper. Spread it on a baking sheet and roast in the oven for 10-15 minutes, or until tender.
Remove the steaks from the marinade, letting excess drip off. Pat dry with paper towels. Optional: simmer the remaining marinade in a saucepan to make a sauce.
Heat 1 tablespoon of canola oil in the preheated cast iron skillet over medium-high heat. Sear the steaks for 3-4 minutes per side for medium-rare (130-135°F internal temperature), adjusting for thickness and preference.
Transfer the steaks to a cutting board, cover with foil, and let rest for 5-10 minutes before slicing.
Slice the steaks against the grain and plate alongside the roasted asparagus. Top with a generous dollop of garlic herb butter. Serve immediately.