Traditional analysis of food intake usually fails to show an association between energy and nutrient intake and indicators of obesity. The analysis of food patterns can contribute to the understanding of the association between eating habits and anthropometric indicators. A population-based cross-sectional study was carried out on a low-income neighbourhood in the Rio de Janeiro metropolitan area, and 1009 subjects between 20 and 65 years of age completed an FFQ. Dietary patterns were identified by means of factor analysis, and their associations with BMI and waist circumference (WC) were ascertained by applying a linear regression analysis. Three main dietary patterns were identified: a mixed pattern, which included cereals, fish and shrimp, vegetables, roots, fruits, eggs, meat and caffeinated beverages; a Western pattern, which consisted of ‘fast foods’, soft drinks, juices, cakes, cookies, milk and dairy, sweets and snacks; a traditional pattern, which included rice, beans, bread, sugar, fats and salad dressings. After adjusting for age and energy intake, we found that the traditional dietary pattern was inversely associated with BMI (β = − 1·14, P < 0·001) and WC (β = − 14·9, P = 0·002) among females. Additionally, a positive association between the Western pattern and WC (β = 12·8, P = 0·02) was observed for females. A diet based on rice and beans may have a protective role against weight gain in women.