This paper presents a non-sequential search model that allows for vertical product differentiation. In the unique symmetric equilibrium firms with different characteristics draw utilities from a common utility distribution, resulting in asymmetric price distributions. The model therefore provides a theoretical rationale for explaining price dispersion as a result of quality differences and search frictions together. More specifically, the model can explain the frequent and asymmetric price changes reported in several empirical papers, but also why some firms have persistently higher prices than others. Using the equilibrium conditions derived from the model, we show how to estimate search costs by maximum likelihood using only prices. The method is applied to a data set of prices for grocery items from supermarkets in the UK. Estimates reveal that most of the observed price variation can be explained by supermarket heterogeneity and that the estimated amount of search is low in this market. We show that ignoring vertical product differentiation results in an overestimation of search costs. Moreover, estimated search costs using a basket of organic items are on average higher than that of a similar non-organic basket. We also simulate how changes in search costs will affect behavior of stores and consumers.