Vettel fights off Alonso for victory