How to Make It
Heat the canola oil in a large nonreactive skillet. Add the sliced onion, garlic and shallots and cook over moderately low heat, stirring, until softened, about 5 minutes. Add the rosemary and cook for 1 minute. Add the red wine vinegar, cumin and cayenne pepper and let cool.
Scrape the marinade into a large, sturdy resealable plastic bag. Add the flank steak and spread the marinade over it. Seal the bag and refrigerate for 1 to 4 hours, turning the bag twice.
Preheat the oven to 400°. In a large bowl, gently toss the potatoes, onion wedges, balsamic vinegar and olive oil and season lightly with salt and pepper. Spread the vegetables in a large nonstick roasting pan and roast for about 40 minutes, stirring once, until tender and browned.
Light a grill or heat a large cast-iron grill pan. Scrape the marinade off the steak. Grill the steak over moderately high heat for about 15 minutes, turning once, until browned and medium-rare. Cover with foil and let rest for 5 minutes. Season the meat with salt and pepper. Thinly slice the steak across the grain and serve with the roast potatoes and onion wedges.