We study the d-dimensional vector bin packing problem, a well-studied generalization of bin packing arising in resource allocation and scheduling problems. Here we are given a set of d-dimensional vectors v1, . . . , vn in [0,1] d , and the goal is to pack them into the least number of bins so that for each bin B, the sum of the vectors in it is at most 1 in every dimension, i.e., || v i ∈B vi||∞ ≤ 1. For the 2-dimensional case we give an asymptotic approximation guarantee of 1 + ln(1.5) + ǫ ≈ (1.405 + ǫ), improving upon the previous bound of 1 + ln 2 + ǫ ≈ (1.693 + ǫ). We also give an almost tight (1.5 + ǫ) absolute approximation guarantee, improving upon the previous bound of 2 [23]. For the d-dimensional case, we get a 1.5 + ln() + ǫ ≈ 0.807 + ln(d + 1) + ǫ guarantee, improving upon the previous (1+ln d+ǫ) guarantee [2]. Here (1 +ln d) was a natural barrier as rounding-based algorithms can not achieve better than d approximation. We get around this by exploiting various structural properties of (near)-optimal packings, and using multi-objective multi-budget matching based techniques and expanding the Round & Approx framework to go beyond rounding-based algorithms. Along the way we also prove several results that could be of independent interest.