We derive tight expressions for the maximum number of k-faces, 0 <= k <= d - 1, of the Minkowski sum, P1 + ... + Pr , of r convex d-polytopes P1 , ... , Pr in R^d, where d >= 2 and r < d, as a (recursively defined) function on the number of vertices of the polytopes. To prove our results, we use basic notions such as f - and h-vector calculus, stellar-subdivisions and shellings, and generalize the steps used by McMullen to prove the Upper Bound Theorem for polytopes. The key idea behind our approach is to express the Minkowski sum P1 + ⋯ + Pr as a section of the Cayley polytope C of the summands; bounding the k-faces of P1 + ... + Pr reduces to bounding the subset of the (k + r - 1)-faces of C that contain vertices from each of the r polytopes. In the case where r