Hull shared a dramatic 2-2 draw with Cardiff but earned promotion from the Championship after Leeds beat Watford 2-1.