You can add a background image to an existing element with CSS. Here is an example using a logo image instead of a header image:
#container h1 a {
background: url("http://s.wordpress.org/about/images/wordpress-logo-notext-bg.png") center 35px no-repeat;
display: block;
height: 175px;
width: 910px;
}
To use your own header image, upload an image that is already sized to your media library, copy the URL for the image, and replace the url() value in the example with your image URL. You will also need to adjuect the 35px in the background rule and the height and width until it looks good.
Note that there are a few different ways to accomplish the same thing. This example keeps the site title above the header and places the background on a link element so that it will be clickable.