You test when the date changes and only show it once, right when it changed for the first time.
<?php
$date = 0;
$newDate = true;
if (have_posts()) : while (have_posts()) :
the_post();
if ($date == 0)
$date = the_date();
else if ($date != the_date()) {
$date = the_date();
$newDate = true;
}
if ($newDate)
echo $date . ' ';
the_title();
$newDate = false;
/* rest of the code */
endwhile;
endif;
?>