Government plays a critical role in developing and adopting new products with social benefits. We study how the government should mix two different subsidies-a technology-push subsidy, which awards manufacturers for cost-reducing R&D efforts, and a demand-pull subsidy, which directly rewards customers-when multiple firms compete in the presence of spillover. We develop a model with the government and two firms: The government first announces a subsidy policy, then the two firms decide R&D investments to reduce production costs and sell the products. We analyze how the optimal subsidy policy and resultant market outcomes change in the social benefit of the product and the spillover level. We find that the government should use a different subsidy policy depending on the social benefit of the product. When the social benefit is low, no subsidy should be given, letting the two firms make discretionary R&D efforts without any inducement. When the social benefit is modest, the government should only give a push subsidy and let the firms lead production adoptions with cost-reducing R&D. When the social benefit is large, the government should provide both subsidies, but the dependence on the pull subsidy increases. We also study how the spillover level influences the optimal subsidy. As knowledge spillover increases, we find that the government should increase the push subsidy to offset the losses incurred by the cost leader. We contribute to the literature by offering policy insights on how the government should design subsidies to maximize the adoption of products with social benefits.