ArcGIS Desktop has the option of using basemaps from ArcGIS online.
Does QGIS have any such options?
Update 2015: A new plugin with even more background map options is QuickMapServices
Original: Use the OpenLayers plugin to get Google Maps, Bing, OSM or Yahoo background maps.
Note that these layers are NOT SUITABLE FOR PRINTING! (see open tickets in the answer to https://gis.stackexchange.com/a/42141/187)
Since QGIS 2.18, there is a new core functionality XYZ Tile Server provider which was implemented with some other nice UX enhancements for tiled services. This means, that there is no need for an external plugin although for an easy setup you can still use external plugins (see bottom of this post).
In the browser panel, locate the Tile Server entry and right click it to add a new service.
Enter the URL of the service which you would like to use, replacing x, y and z parts with curly brackets substitution as can be seen below.
Double Click the newly created entry to add the layer to the map.
Layers added this way:
(Codes for other tile types from Google found here)
Since version 0.18.7 and in combination with QGIS >= 2.18.8 it's possible to use QuickMapServices as a very easy to use tool for configuring layers. Just check the "Use native renderer" checkbox (thanks @DmitryBaryshnikov)
Another plugin to add basemaps in QGIS - QuickMapServices:
QGIS Python Plugins Repository: https://plugins.qgis.org/plugins/quick_map_services/
More info about plugin:
If you're looking to add the ESRI basemaps to QGIS, follow the steps in this blogpost using the QGIS Python console:
Copy and paste this code into the QGIS Python Console:
Adds ESRI_Imagery_World_2D service:
Adds ESRI World_Street_Map service:
Then you can save these as QGIS Layer Definition Files and add them later to any project
And here's the REST endpoint of all the ArcGIS Online basemaps you can add using the above code: