How to Add OSM Layer to QGIS 2.X

March 2015 update with QGIS 2.8.1 (Wien)

Web>Openlayers plugin

enter image description here

For Raster images [after fetching python plugins] use the OpenLayers Plugin

enter image description here

For Vector (editable layers) use the OpenStreetMap Plugin

use Download OSM Data option [OSM server limits large downloads] - zoom into an area of interest first there is some info when using the plugin that the area is ok to download - this will take a minute or so to process.

To edit save as shapefile (load this into QGIS) and toggle editing

enter image description here


This is an old question/answer but it pops out in the Google search and it is worthwhile adding new updates as in this answer. I would comment but I don't have enough reputation.
There is no need for an extra plugin, you can use the XYZ Tile Server.

enter image description here

The URL for OpenStreetMap is:

http://tile.openstreetmap.org/{z}/{x}/{y}.png

Update for QGIS3
QGIS3 comes with a direct link to OpenStreetMap under Tile Server (XYZ), just double-click on it:

enter image description here


Check out this Q/A link below.

How to get OpenStreetMap as a raster layer in QGIS