Check this out: http://css-tricks.com/snippets/wordpress/paginate-custom-post-types/
It is meant for custom post type, but I think it would work for you too.
Edit:
The important part about this link is the link was the use of the first lines before the loop:
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query(here goes the query);
But I think a better solution would be to use pre_get_posts hook, I think it will solve your pagination problem, this is also the best practice.
You can use this code for your pagination:
echo paginate_links( array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'prev_text' => '',
'next_text' => ''
));
If you used the method with the WP_Query you should make sure you have this code at the end of your pagination code:
$wp_query = null; $wp_query = $temp;