Using code from StackOverflow:

HttpWebRequest webRequest;

void StartWebRequest()
{
    webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), null);
}

void FinishWebRequest(IAsyncResult result)
{
    webRequest.EndGetResponse(result);
}

How do you access the response to the request?

I realise I have asked the dumbest question ever, just dawned on me the EndGetResponse returns a HttpWebResponse object.... It's early I tell you!