West Ham booked their place in the Capital One Cup semi-finals after beating managerless Tottenham 2-1 at White Hart Lane on Wednesday evening.