In this review we have tried to present a complete and integrated picture of the old and new ways to discover antibacterial agents. The development of new antibacterial agents can be made from derivatives of known antibacterial agents or by identification of novel agents active against previously unexploited targets. The genetic and biochemical basis of resistance to most classes of antibacterial agents is now known and this has been important in the design of a rational strategy that can be used to counteract resistance. This strategy can follow two approaches: i. Modification of the basic structure of the antibacterial agent, which circumvents antibacterial resistant mechanisms, and ii. Development of a compound inhibiting the mechanism of resistance for an antibacterial agent, hence the concomitant administration of the antibacterial agent plus the inhibitor, as a co-drug, will potentiate this activity. There are also two main approaches to find new protein targets: 1. Classical and, 2. Genomic. The first includes the study of secondary metabolites of bacteria and fungi with antibacterial activity, and it has now been expanded to include plant extracts and marine macro- and microorganisms, as well as non-cultivable soil bacteria. Recent tools such as comparative genomic, combinatorial chemistry, and computerized modelling have helped in the development of new antibacterial agents. Finally, other approaches, such as bacteriophages, antisense RNA and proteins involved in pathogenicity to find new antibacterial drugs are currently investigated.