Alcohol abuse causes 88,000 deaths annually. In this paper, we investigate a machine learning method to detect a drinker's Blood Alcohol Content (BAC) by classifying accelerometer and gyroscope sensor data gathered from their smartphone. Using data gathered from 34 "intoxicated" subjects, we generated time and frequency domain features such as sway area (gyroscope) and cadence (accelerometer), which were classified using supervised machine learning. Our work is the first to classify sway features such as sway area and sway volume, which are extracted from the smartphone's gyroscope in addition to accelerometer features. Other novel contributions explored include feature normalization to account for differences in walking styles and automatic outlier elimination to reduce the effect of accidental falls. We found that the J48 classifier was the most accurate, classifying user gait patterns into BAC ranges of [0.00-0.08), [0.08-0.15), [0.15-0.25), [0.25+) with an accuracy of 89.45% (24.89% more accurate than using only accelerometer features as in prior work). Our classification model was used to build AlcoGait, an intelligent smartphone app that detects drinkers intoxication levels in real time.