La cosa va risolta in modo diverso nei browser conformi e in IE.

l'HTML:
codice:
<div id="contPoesia">
  <p class="poesia">
    Nel mezzo del cammin di nostra vita
    mi ritrovai per una selva oscura
    che la diritta via era smarrita 
    ...
  


</div>
Il CSS:
codice:
<style ...>
#contPoesia {
  text-align: center; /* serve per IE */
  ... 
}
.poesia {
  text-align: left;   /* per eliminare il center sopra */
  margin: 0 auto;     /* per i browser conformi */
  border: 0;
  padding: 0;         /* per differenze tra IE e altri /*
}
Questo dovrebbe funzionare, e non fa uso di tabelle.

Nota che per la poesia ho usato un

(non un <div>), che e` piu` corretto dal punto di vista semantico ed e` valido anche per XHTML Strict (non si puo` scrivere direttamente nei <div>).