This paper is devoted to understanding the role of public development banks in alleviating financial market imperfections. We explore two issues: 1) which types of firms should be optimally targeted by public financial support; and 2) what type of mechanism should be implemented in order to efficiently support the targeted firms' access to credit. We model firms that face moral hazard and banks that have a costly screening technology, which results in a limited access to credit for some firms. Banks cannot fully appropriate the benefits of lending to successful projects. We show that a public development bank may alleviate the inefficiencies derived from this externality by lending to commercial banks at subsidized rates. Because the externality is stronger for high value firms, these are optimally targeted. The optimal policy may be implemented through subsidized ear-marked lending to the banks or through credit guarantees which we show to be equivalent in normal times. Still, when banks are facing a liquidity shortage, lending is preferred, while when banks are undercapitalized, a credit guarantees program is best suited.