The vast majority of today's Internet traffic uses TCP connections whose lengths range from a few packets to many orders of magnitude more. Even though short flows are prevalent in web traffic and their completion time can directly impact user experience, these flows are generally not prioritized and can experience drops because of the load caused by longer TCP flows on routers. In this paper, we describe a novel way to improve the latency of these flows. One possible solution to lower latency is to increase the Maximum Segment Size (MSS), which would allow transmitting as much information using fewer packets. However, this impairs efficient packet multiplexing by routers. Another approach to reduce latency is to increase TCP's initial window size, which also allows sending more data at once. However, the benefits of this for short flows can be wiped out if the flow experiences even a single packet drop as this will cause retransmissions and in some cases timeouts. In this paper, we propose the concept of super-packets to deal with this all-or-nothing property of flows. Super-packets are a collection of packets whose collective performance is critical for applications. End-hosts explicitly request reservation of buffer space for super-packets in routers who in turn look at their buffer utilization and guarantee forwarding of all packets in the given super-packet. This paper proposes a simple and efficient algorithm for such reservations in routers. We use simulations to demonstrate how the use of super-packets has the same effect as increasing the MSS without the downsides. Extensive evaluation of an implementation on the Click Modular Router shows that super-packets can improve average latency of flows and also effectively solve the problem of incast. Additionally, our results demonstrate that super-packets can prioritize short flows without the need for explicit priorities.