Amazon cuts up to 75% off a selection of adidas NBA Caps in 26 teams (NBA Miami Heat pictured), with prices starting from $5.75. Plus, Prime members bag free shipping. (Non-members can spend $35 or more to qualify for free shipping; otherwise shipping starts at $5.58.) That's a savings by as much as $17 and the lowest total price we could find. They're available in sizes S/M and L/XL, although not in all style/size combinations.
Note: Some caps list for as low as $4.50, but they are Add-on items and require a minimum purchase of $25.