This paper uses detailed barcode data on purchase transactions by households in 49 U.S. cities to calculate the first theoretically-founded urban price index. In doing so, we overcome a large number of problems that have plagued spatial price index measurement. We identify two important sources of bias. Heterogeneity bias arises from comparing different goods in different locations, and variety bias arises from not correcting for the fact that some goods are unavailable in some locations. Eliminating heterogeneity bias causes 97 percent of the variance in the price level of food products across cities to disappear relative to a conventional index. Eliminating both biases reverses the common finding that prices tend to be higher in larger cities. Instead, we find that price level for food products falls with city size