a simple solution might be to use a table:
<table>
<tr>
<td>Div 1 content here</td><td>Div 2 content here</td>
</tr>
</table>
Centering the content in each of the tds will give you what I think you're after.
Edit: OK this is getting voted down because I'm suggesting using a table for "presentation". At the end of the day, this works. It will give the desired result. The first answer, voted up, using css, is wrong. I cannot see that using a table instead of a div will ever have any impact on maintainability or future design changes, or that it makes any difference whatsoever.
Edit 2: To complete my answer, here is an example:
<html>
<head>
</head>
<body>
<style>
div { width: 100px; height: 30px; border: 1px solid red; margin: 0 auto 0 auto; text- align: center; }
table { border: 1px solid blue; width: 400px; }
td { padding: 20px 0 20px; }
</style>
<table>
<tr>
<td> <div class="one">div 1</div> </td>
<td> <div class="one">div 2</div> </td>
</tr>
</table>
</body>
</html>
This will give you the layout requested. I have added some padding to the divs in order to demonstrate one way of vertically aligning your content.