Government subsidies play an important role in promoting the development of green products. This paper examines the impact of subsidies on competing firms, consumers and the environment in a horizontally differentiated market. Taking all stakeholders into consideration, the optimal subsidy level is solved to maximize social welfare. Compared with the no subsidy case, we show that subsidies always make consumers better, however, this welfare improvement may come at the expense of firm profits and environmental benefits. Specifically, when products are highly substitutable and consumers’ environmental awareness is great, subsidies can induce competing firms to over-invest in green R&D and produce more quantities and thus leading to reduced firm profits. Moreover, subsidies would widen the gap between asymmetric firms, making those firms in a weak competitive position even more disadvantaged. As for the environment, we find that for industries with high levels of emissions per-unit of output, the negative effect of subsidies to induce more production/consumption would dominate the positive effect of the improvement in product greenness, leading to environmental degradation. As a result, subsidies are optimal for clean industries, while punitive policies that limit production and consumption may be more effective for those dirty industries. We also compare ad valorem subsidies and green R&D subsidies, showing that for the same amount of subsidies, an ad valorem subsidy is more in the interest of firms, while consumers are better off under the R&D subsidy policy as it increases the competition in green efforts more directly.