A method of recovering a highly pure hydrocodone base from an impure hydrocodone preparation includes contacting the impure hydrocodone preparation with a weak acid in water to form a solution and adding a strong base to the solution in an amount sufficient to precipitate the pure hydrocodone base product. A highly pure hydrocodone base comprises less than 0.0025 wt% codeinone.