Estimating is usually done bottom-up. Hence you should have a complete set of activities that would be done as part of the project. Also, you need to ensure that your team members are experienced enough to provide fair estimates and have worked on similar projects.
A few things that can be done are -
-When you ask the team to prepare estimates , ask them to write down the assumptions and approaches they used to arrive at each of them.
-You can also anonymously ask a separate team which has done a similar project to provide an estimate so you have some basis for comparison
-As you go forward, build an ongoing "actual hours" database of the recorded time spent on each aspect of your projects. Use the data to help estimate future projects
-Try and read on the commonly used estimation techniques such as PERT , Function Point , Use Case points.
-Communicate with other Project Managers to understand how they estimate for their projects and issues that they have faced in their projects.
-Be aware that in case of development projects there are many factors that are considered before giving an estimation such as the architecture being used , the development language etc
-Plan your project in a phased manner and concentrate on individual modules so you can plan better. Ask your team to provide modular estimates as well.