Let C be a bounded convex object in Rd, and P a set of n points lying outside C. Further let cp, cq be two integers with 1 ≤ cq η cp ≤ n - ⌊d/2⌋, such that every cp + ⌊d/2⌋ points of P contains a subset of size cq + ⌊d/2⌋ whose convex-hull is disjoint from C. Then our main theorem states the existence of a partition of P into a small number of subsets, each of whose convex-hull is disjoint from C. Our proof is constructive and implies that such a partition can be computed in polynomial time. In particular, our general theorem implies polynomial bounds for Hadwiger-Debrunner (p, q) numbers for balls in ℝd. For example, it follows from our theorem that when p > q ≥ (1 + β) · d/2 for β > 0, then any set of balls satisfying the HD(p, q) property can be hit by O (q2p1+1/β logp p) points. This is the first improvement over a nearly 60-year old exponential bound of roughly O(2d). Our results also complement the results obtained in a recent work of Keller et al. where, apart from improvements to the bound on HD(p, q) for convex sets in ℝd for various ranges of p and q, a polynomial bound is obtained for regions with low union complexity in the plane.