This paper introduces a novel hydrodynamic cosmological simulation scheme that employs a moving unstructured mesh defined by the Voronoi tessellation of discrete points. The mesh is used to solve the hyperbolic conservation laws of ideal hydrodynamics using a finite volume approach with a second-order unsplit Godunov scheme and an exact Riemann solver. The mesh-generating points can move freely, allowing for arbitrary adjustments in resolution and topological changes without mesh tangling. This method is fully Galilean-invariant, unlike traditional Eulerian codes, which is crucial for cosmological simulations involving supersonic bulk flows. The scheme also automatically adjusts its spatial resolution and can handle boundary conditions at curved surfaces. The authors discuss the implementation of this method in their code AREPO, which is parallelized for distributed memory computers. They demonstrate the performance of AREPO through a series of test problems, including pure hydrodynamical tests and simulations with self-gravity, and compare it with state-of-the-art Eulerian codes like ATHENA. The paper also covers the construction of Delaunay and Voronoi meshes, the data structures used to represent the tessellation, and techniques for handling degenerate cases during mesh generation.This paper introduces a novel hydrodynamic cosmological simulation scheme that employs a moving unstructured mesh defined by the Voronoi tessellation of discrete points. The mesh is used to solve the hyperbolic conservation laws of ideal hydrodynamics using a finite volume approach with a second-order unsplit Godunov scheme and an exact Riemann solver. The mesh-generating points can move freely, allowing for arbitrary adjustments in resolution and topological changes without mesh tangling. This method is fully Galilean-invariant, unlike traditional Eulerian codes, which is crucial for cosmological simulations involving supersonic bulk flows. The scheme also automatically adjusts its spatial resolution and can handle boundary conditions at curved surfaces. The authors discuss the implementation of this method in their code AREPO, which is parallelized for distributed memory computers. They demonstrate the performance of AREPO through a series of test problems, including pure hydrodynamical tests and simulations with self-gravity, and compare it with state-of-the-art Eulerian codes like ATHENA. The paper also covers the construction of Delaunay and Voronoi meshes, the data structures used to represent the tessellation, and techniques for handling degenerate cases during mesh generation.