If you are inside the loop, on the single page, than you have all tags and can search for releated posts with the same tags. You find many solutions via google; an example:
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags( get_the_ID() );
if ( $tags ) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;
$args = array(
'tag__in' => array( $first_tag ),
'post__not_in' => array( get_the_ID() ),
'showposts' => 5,
'caller_get_posts' => 1
);
$my_query = new WP_Query( $args );
if ( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="https://wordpress.stackexchange.com/questions/51599/<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
}
}